# 20162312 2017-2018-3 《程序设计与数据结构》第3周学习总结
2017-09-24 19:59
429 查看
教材学习内容总结
学习目标
探讨线性及二分查找算法。探讨选择、插入、冒泡、快速及归并排序算法。
讨论算法的复杂度分析技术。
具体内容
查找 查找是在一组数据项中找到指定的目标元素,或是判定组内部存在目标的过程。线性查找 线性查找是从一端开始以线性的方式扫描查找池。
二分查找 二分查找算法借助于查找池中数据的有序性,在每次比较时去除查找池中的大部分元素。
排序 排序是根据某些标准,将一组数据项按确定的次序重排,或为升序或为降序。
选择排序 算法重复这样的过程,分别将每个值放到排好序的最终位置,从而完成一组值的排序。
插入排序 算法重复地将一个具体的值插入到表中已有序的子序列中,从而完成一组值的排序。
冒泡排序 算法重复地比较表中的相邻元素,如果他们呈逆序则交换它们。
快速排序 算法根据任意选定的划分元素来对表进行划分,然后再递归地对划分元素两边的子段进行排序,从而完成对表的排序。
归并排序 递归地对分表,知道每个子表只含有一个元素时为止,然后再将子表按序合并,从而完成对表的排序。
希尔排序 把一个长序列分割为K个短序列进行高效的直接插入排序,形成一种“基本有序”的顺序; 再调用直接插入排序算法,对全体记录进行一个高效的排序。
教材学习中的问题和解决过程
问题1:对归并排序的复杂度计算不是特别理解。问题1解决方案:我在网上查找了归并排序复杂度计算的相关资料:
代码调试中的问题和解决过程
无代码托管
结对及互评
本周结对学习情况
20162324结对学习内容
进行了查找排序方面的讨论
思考
对于查找排序的很多代码还要多看。学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 6/6 | |
第二、三周 | 403/403 | 2/3 | 14/20 |
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
参考:软件工程软件的估计为什么这么难,软件工程 估计方法
计划学习时间:5小时
实际学习时间:6小时
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
《Java程序设计与数据结构教程(第二版)》《Java程序设计与数据结构教程(第二版)》学习指导
...
相关文章推荐
- 2017-2018-1 《程序设计与数据结构》第3周学习总结
- 20162313 2017-2018-1 《程序设计与数据结构》第3周学习总结
- 20162306 2017-2018-1 《程序设计与数据结构》第3周学习总结
- 20162318 2017-2018-1 《程序设计与数据结构》第3周学习总结
- 20162324 2017-2018-1 《程序设计与数据结构》第3周学习总结
- 20162307 2017-2018-1 《程序设计与数据结构》第3周学习总结
- # 20162312 2017-2018 《程序设计与数据结构》第7周学习总结
- # 20162312 2017-2018-3 《程序设计与数据结构》第5周学习总结
- 20162317 2017-2018-1 《程序设计与数据结构》第3周学习总结
- 20162326 2017-2018-1 《程序设计与数据结构》第3周学习总结
- # 20162312 2017-2018-3 《程序设计与数据结构》第6周学习总结
- 20162315 2017-2018-1 《程序设计与数据结构》第3周学习总结
- 20162319 2017-2018-1 《程序设计与数据结构》第3周学习总结
- # 20162312 2017-2018-1 《程序设计与数据结构》第1周学习总结
- # 学号20162312 2016-2017-3 《程序设计与数据结构》第3周学习总结
- 20162305 2017-2018-1 《程序设计与数据结构》第10周学习总结
- 20162308 2017-2018-2 《程序设计与数据结构》第二周学习总结
- 20162326 2017-2018-1 《程序设计与数据结构》第9周学习总结
- 20172303 2017-2018-2 《程序设计与数据结构》第1周学习总结
- 20162311 2017-2018-1 《程序设计与数据结构》第八周学习总结