您的位置:首页 > 理论基础 > 数据结构算法

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

2017-09-10 17:18 330 查看

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

教材学习内容总结

很多情况下时间和空间不可兼得。在不同的情况下,要么用时间换空间,要么用空间换时间。

引出算法效率的概念,并通过刷盘子的例子来比较不同的算法怎样产生不同的效率。

在研究算法的时候,准确的增长函数不如算法的渐进复杂度实用

提高CPU的计算速度并不能很好的弥补算法的缺陷

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

判断下列代码的增长函数和阶

1 for (int count = 0; count < n; count ++)
2 {
3     for (int count2 = 0; count2 < n; count2 = count2 + 2)
4     {
5         System.out.println (count, count2);
6     }
7 }


首先判断最外层函数执行次数,一共执行了n次有效的以及一次无效的,同理,内层循环也执行了n次有效的以及一次无效的。所以第一行执行了n+1次,套在外层循环里面的第三行执行了n(n+1)次,在最内层的第五行则执行了n^2次。

所以增长函数为n+1+n(n+1)+n^2。阶是n^2.


代码托管

结对及互评

博客中值得学习的或问题:

使用了举实例的方法来阐述不同的算法在效率上会有不同的效果的情况。很生动,便于读者的理解。

在排版上有点混乱

代码中值得学习的或问题:

本周没有系统性的代码练习

本周结对学习情况

20162319

其他

通过这章的学习我首次接触数据结构相关部分的内容,了解到不同的算法虽然可以达成相同的目的,但是有可能会因为结构上的区别在效率和空间上拉开差距。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周0/01/110/10

参考资料

《Java程序设计与数据结构教程(第二版)》

《Java程序设计与数据结构教程(第二版)》学习指导
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: