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

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

2017-09-24 16:52 357 查看

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

教材学习内容总结

查找

线性查找:从一端开始以线性的方式扫描查找池。
具体操作:从表头开始,依次将每个值与目标元素进行比较。
二分查找:二分查找改进了查找过程的效率,但是要求查找池有序。
具体操作:二分查找从一个有序数列的中间开始查找,每次与所选值进行比较后可减少查找池中的一半元素。余下的一半包含候选值继续查找。

排序

选择排序:

反复的将一个个具体的值放到它最终的有序位置,从而完成一组值的排序。
具体操作:
扫描整个表,找到最小值并与第一个相交换。扫描除去第一个元素外的表,找到最小值并与第二个交换位置直到完成。

插入排序:

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

冒泡排序:

反复的比较相邻元素,如果呈逆序则交换。
具体操作:扫描整个表,比较相邻元素,如果次序不正确就交换。然后再次扫描表,将第二个最大值冒泡到最终位置,直到所有元素都冒泡完毕。

快速排序:

通过划分表,然后再递归的对两个子表进行排序,从而完成一组值的排序。
具体操作:先选择一个元素作为划分元素,小于划分元素的划分在左侧,大于划分元素的划分在右侧。继续这个过程,直到划分段只含一个元素。

归并排序

递归的将表平分为两部分,直到每个子表中只含有1个元素,然后将子表归并为有序表,从而完成一组值的排序

分析查找及排序算法





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

问题:归并排序:递归的将表平分为两部分,直到每个子表中只含有1个元素,然后将子表归并为有序表,从而完成一组值的排序。

不太理解其中的意思

问题解决方案:向同学请教。归并排序,其实就是将数组相邻元素组合起来,组内进行排序,然后再将相邻两组进行组合,组内继续排序,直到结合成一个大的数组为止。

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

问题1:代码统计的脚本一直运行不成功

问题1解决方案:在参考了结对伙伴张韵琪的博客后,在终端打开了bash,输入命令行成功运行

代码托管



上周考试错题总结

错题1及原因,理解情况

错题2及原因,理解情况

...

结对及互评

这周结对伙伴张韵琪帮了我很多忙,帮我理解排序概念,帮我正确运行脚本,非常感谢。我也会继续加油,共同学习,共同进步。

点评模板:

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

排版精美

解决方案清晰明了

本周结对学习情况

- [20162307](http://www.cnblogs.com/Tiffany23/)
- 结对学习内容
- 共同讨论学习概念
- 小组博客交流
- 脚本运行交流

其他

本周学习还是有点懒惰,学习不太积极,都放在了最后一天来进行,所以时间比较紧凑。因为这周的事情有点多,所以最后学习效率也比较低。希望以后能合理规划一下时间,改变一下自己的时间规划。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周70/701/112/12
第三周208/2781/212/24
参考:软件工程软件的估计为什么这么难软件工程 估计方法

计划学习时间:12小时

实际学习时间:12小时

参考资料

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

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