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

# 20162312 2017-2018-3 《程序设计与数据结构》第3周学习总结

2017-09-24 19:59 429 查看

教材学习内容总结

学习目标

探讨线性及二分查找算法。

探讨选择、插入、冒泡、快速及归并排序算法。

讨论算法的复杂度分析技术。

具体内容

查找 查找是在一组数据项中找到指定的目标元素,或是判定组内部存在目标的过程。

线性查找 线性查找是从一端开始以线性的方式扫描查找池。

二分查找 二分查找算法借助于查找池中数据的有序性,在每次比较时去除查找池中的大部分元素。

排序 排序是根据某些标准,将一组数据项按确定的次序重排,或为升序或为降序。

选择排序 算法重复这样的过程,分别将每个值放到排好序的最终位置,从而完成一组值的排序。

插入排序 算法重复地将一个具体的值插入到表中已有序的子序列中,从而完成一组值的排序。

冒泡排序 算法重复地比较表中的相邻元素,如果他们呈逆序则交换它们。

快速排序 算法根据任意选定的划分元素来对表进行划分,然后再递归地对划分元素两边的子段进行排序,从而完成对表的排序。

归并排序 递归地对分表,知道每个子表只含有一个元素时为止,然后再将子表按序合并,从而完成对表的排序。

希尔排序 把一个长序列分割为K个短序列进行高效的直接插入排序,形成一种“基本有序”的顺序; 再调用直接插入排序算法,对全体记录进行一个高效的排序。





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

问题1:对归并排序的复杂度计算不是特别理解。

问题1解决方案:我在网上查找了归并排序复杂度计算的相关资料:


代码调试中的问题和解决过程



代码托管

结对及互评

本周结对学习情况

20162324

结对学习内容

进行了查找排序方面的讨论

思考

对于查找排序的很多代码还要多看。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周0/01/16/6
第二、三周403/4032/314/20
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

计划学习时间:5小时

实际学习时间:6小时

改进情况:

(有空多看看现代软件工程 课件

软件工程师能力自我评价表)

参考资料

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

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

...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐