博客
关于我
信息学奥赛一本通【题目索引 + 解答】
阅读量:554 次
发布时间:2019-03-09

本文共 1214 字,大约阅读时间需要 4 分钟。

基础(一)作为一名学习C++的新手,用实际感受来写这段内容可能会显得有些刻意,但还是想把近一个月的学习记录梳理一下。C++语法的学习确实让我感受到了编程思维的逻辑性,但从零开始,对这门语言的掌握更像是一场持久战。

随着对基础的逐步掌握,我的学习内容主要集中在三个方面。第一个是入门知识,这部分内容相对简单,但也是构建语言能力的基石。我觉得自己在这部分的完成度还算不错,即使有些细节可能还不够熟练,但也能基本处理文本和简单的输入输出操作。

接下来的顺序结构学习让我意识到编程的核心逻辑。通过if-else等条件语句的学习,我逐渐理解了程序执行流程的基本规则。这部分内容相对直观,能够通过代码展示思路,但在复杂场景下的处理能力还需要进一步提升。

到选择结构的时候,我感觉自己有些吃力的。switch-case这样的语法虽然简单,但要在实际应用中准确掌握,还需要更多的练习。我在这部分的完成度还不算理想,感觉自己还有很大提升空间。

循环结构的学习则是我真正吃住的阶段。for循环、while循环以及do-while循环虽然看起来相似,但实际用法却有很大不同。尤其是处理无限循环的情况,我还是有些卡住,不知道如何掌握这样的逻辑。

到这个阶段,我已经能够熟练完成数组的基本操作了。但在计算机内存管理和数据结构的深度理解上,我的感觉还是不足。函数的学习让我意识到代码复杂度的提升,尤其是函数参数的处理和返回值的设计,这让我对编程的抽象能力有了更深的认识。

基础(二)基础算法的学习让我对编程的思维方式有了全新的认识。高精度算法的学习过程充满了挑战,但也让我对程序的执行效率有了更深的理解。特别是算法的时间复杂度,对于程序的性能优化能力有了更深刻的体会。

在学习算法过程中,我逐渐明白了递推算法的优势和局限性。递推不仅是一种编写代码的方法,更是解决问题的思维方式。但由于递推过程的复杂性,这种方法在解决一些计算量大的问题时需要谨慎权衡。

递归算法的学习更加让我困惑。虽然递归能够简化程序结构,但函数调用的深度和返回值的处理往往会带来意想不到的问题。我虽然写了一些简单的递归程序,但面对复杂问题时还需要更多学习和实践。

动态规划的学习让我对编程的幕后运作有了更清晰的认识。这种算法利用记忆空间来保存子问题的解结果,显然在处理一些最优化问题时非常高效。但如何在内存限制的前提下最大限度地利用空间,这仍然是一个需要思考的问题。

基础(三)数据结构的学习让我对程序的性能有了更深的理解。树结构作为数据结构的核心,几乎贯穿了我的整个学习过程。期初对树的理解主要停留在简单的运算上,但随着对树的深度理解,我逐渐掌握了二叉树、二叉搜索树等各种树的实现方法和应用场景。

在学习数据结构的过程中,我深刻体会到了抽象思维的重要性。树的结构虽然简单,但通过实际的数据存储和操作,能够看出程序设计的精髓。然而,面对数据结构的复杂性,我也意识到自己还有很大的学习距离。

转载地址:http://vyopz.baihongyu.com/

你可能感兴趣的文章
PDF.js —— vue项目中使用pdf.js显示pdf文件(流)
查看>>
我用wxPython搭建GUI量化系统之最小架构的运行
查看>>
我用wxPython搭建GUI量化系统之Sizer布局管理与页面切换
查看>>
我用wxPython搭建GUI量化系统之多只股票走势对比界面
查看>>
我用wxPython搭建GUI量化系统之财务选股工具添加日历和排序
查看>>
2019年达观杯文本智能信息抽取挑战赛 四到十名队伍分享
查看>>
selenium+python之切换窗口
查看>>
重载和重写的区别:
查看>>
搭建Vue项目步骤
查看>>
linux 编译出现的错误
查看>>
账号转账演示事务
查看>>
idea创建工程时错误提醒的是architectCatalog=internal
查看>>
SpringBoot找不到@EnableRety注解
查看>>
简易计算器案例
查看>>
在Vue中使用样式——使用内联样式
查看>>
Find Familiar Service Features in Lightning Experience
查看>>
Explore Optimization
查看>>
Kali Linux 内网渗透教程 - ARP欺骗攻击 | 超详细
查看>>
2020Java程序设计基础(华东交通大学)章节测试免费满分答案
查看>>
OpenCV-未定义符号:hb_font_funcs_set_variation_glyph_func
查看>>