20162328 2017-2018-1 《程序设计与数据结构》第3周学习总结
教材学习内容总结
查找是在一组项内找到指定目标或是确定目标不存在的过程。
搞笑的查找使得比较的次数最少。
Comparable接口允许许多动态实现算法,而不是指应用于特定的类。
二分查找的每次比较都排除了一半的可行候选数据。
排序是按某种标准将一列数据项按确定的次序重排的过程。
选择排序算法反复的地将一个个具体的值放到它最终的的有序位置,从而完成一组值的排序。
插入排序算法反复地将一个个具体的值插入到表的已有序的子表中,从而完成一组值得排序。
冒泡排序算法反复的比对相邻元素,如果必要就交换它们的次序,从而完成一组值的排序。
二分查找有对数阶的复杂度,对于大的查找池来说的,这非常有效率。
选择排序,插入排序及冒泡怕虚的平均运行时间复杂度是O(n^2)。
快速排序的关键是选择一个好的划分元素。
归并排序的最坏运行复杂度是O(n log n)。
直接排序
希尔排序
冒泡排序
选择排序
快速排序
堆排序
归并排序
代码托管[https://gitee.com/pdds2017/cwc20162328_JavaFoundations2nd.git]