20162311 2017-2018-1 《程序设计与数据结构》第三周学习总结
20162311 2017-2018-1 《程序设计与数据结构》第三周学习总结
教材学习内容总结
一、查找
教材上介绍了两种常用的方法——线性查找和二分查找。线性查找需要从头查起,知道找到目标;二分查找要求查找池是有序的,每次比较可将范围缩小一半。这两种方法的基础是所查找的对象可以进行比较
二、排序
教材介绍了五种排序算法
- 选择排序:需要扫描整个表,有时候效率不高
- 插入排序:与选择排序类似,先比较,再排序
- 冒泡排序:每扫描一次确定一个元素的位置,最多可能需要(n*(n+1))/2次
- 快速排序:效率较高,选择一个元素方中间,小于它的放左边,大于它的放右边,剩下的以此类推
- 归并排序:把整个表分成多个表,分别排好序后再合并
三、分析查找和排序算法
不同的算法适用于不同的情况,要先分析问题,再决定使用什么算法
教材学习中的问题和解决过程
老师课上讲得比较清楚,暂时没什么问题
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
云班课里无法查看个人结果解析
结对及互评
本周结对学习情况
- 结对学习内容
- 教材13章
- 如何编写泛型类Bag
思考
感觉这学期的内容比起上学期要难不少,不单单是照着书上敲代码那么简单了,更要自己多动脑思考,多理解一些算法。当然也要自己多动手,代码肯定不能少敲,关键是要敲得有效率,结合老师教的知识和自己敲的代码去学习,只有这样才能有提升
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 10/10 | |
第二周 | 0/0 | 0/1 | 15/25 | |
第三周 | 721/721 | 3/4 | 15/40 |
-
计划学习时间:20小时
-
实际学习时间:15小时
-
改进情况:比起第一周的有效学习时间增长了一些,但还没达到目标,要再接再厉