20162326 齐力锋 2017-2018-1 《程序设计与数据结构》第3周学习总结
教材学习内容总结
- 排序的分类 :
按排序过程中的操作分类
插入排序
交换排序
选择排序
归并排序
选择排序按排序算法的时间复杂度分类
简单的排序算法o ( n^2)
先进的排序算法
基数排序查找即在一组项内找到指定目标或是确定目标不存在的过程。
查找的分类
线性查找
二分查找二分查找的特点为查找池有序
- 二分查找适合大的查找池,更有效一点
- 选择排序、插入排序及冒泡排序的平均时间复杂度都是O(n^2)。
- 快速排序的关键是选一个正确的枢轴
归并排序的最坏运行时间复杂度是O n x logn.
各项排序的方法和我的理解
- 希尔排序:把一个长序列分隔成K个短序列,但是这个K要找好不然会很麻烦,他是对直接插入排序的改进
- 插入排序:比较然后插入排序
- 交换排序:
- 冒泡排序:有点类似身高从高到低排序 ,扫描一次确定一个元素的位置,
- 快速排序:效率较高,选择一个枢轴,最终使得左边都比枢轴小,右边都大。枢轴移动是比较
- 归并排序:把整个表分成多个表,分别排好序后再合并
- 选择排序:需要扫描整个表,有时候效率不高
代码托管
算法的效率
本周结对学习情况
其他(感悟、思考等,可选)
本周主要学习了查找和排序,我认为明白这些方法只是入门,能自己写出来代码才是水平。理解和动手之间差了很多层次
计划学习时间:10小时
实际学习时间:10小时
- 《Java程序设计与数据结构教程(第二版)》学习指导
...
来源:https://www.cnblogs.com/20162326qilifeng/p/7588507.html