20162318 《程序设计与数据结构》第一周学习总结

时间:2022-03-20 10:25:40

20162318 2017-2018-1 《程序设计与数据结构》1周学习总结

教材学习内容总结

1.数据结构的概念
2.算法设计的基本要求
3.时间复杂度的计算

教材学习中的问题和解决过程

  • 问题1:递归与迭代的区别
  • 问题1解决方案:我查了资料,有这些说法:迭代是循环求值,递归是调用本身。迭代是使用循环结构,递归是选择结构。迭代是循环条件不满足时终止,递归是当满足基本条件时终止。迭代用计数器控制循环,不停地修改计数器的值,直到不满足条件为止。递归是逐渐逼近基本条件而终止,不断地对问题进行简化直到可以直接计算基本问题为止。根据我的实践,我得到这些经验:迭代计算比递归更快,但是递归的思想更容易被想到,属于思想上高级,但行动力低下的解决方法。
  • 问题2:最长公共子序列
  • 问题2解决方案: 我查了资料,有这些说法(动态规划求最长公共子序列的长度不仅比递归求得快,而且递归方法只能求得最长公共子序列的长度), 但是我还是不太懂,我的困惑是(如果str1[m] != str2[n],则L[m,n] = max{L[m,n - 1],L[m - 1, n]}以及如何从数组L中找出一个最长的公共子序列)。

结对及互评

本周结对学习情况

其他(感悟、思考等,可选)

算法+数据结构=程序

一个程序运行的快慢主要取决于你程序算法的设计,当你把O(2^n) 变为O(n^2)时,你的程序运行速度将会快很多很多,这是你硬件再好也无法比拟的。

20162318 《程序设计与数据结构》第一周学习总结

大学四年需要养成的编程思维20162318 《程序设计与数据结构》第一周学习总结

参考资料