摘要: 希尔排序( Shell sort) 插入排序的改进版本,其核心思想是将原数据集合分割成若干个子序列,然后再对子序列分别进行直接插入排序,使子序列基本有序,最后再对全体记录进行一次直接插入排序。 我的面向人类的理解:挑选间隔为k的数进行排序,然后不断缩小k,最终降到1,此时相当于插入排序。 1.算法描 阅读全文
posted @ 2018-05-31 23:44 kumata 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 插入排序( Insert sort) 通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入; 由于不需要全部都比较完,所以排序速度优于冒泡和选择排序。 #插入排序就像是斗地主摸牌 1.算法描述: 2.算法属性: 时间复杂度:O(n^2) 空间复杂度:O(1) 稳定性:稳定 阅读全文
posted @ 2018-05-31 23:18 kumata 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 选择排序( Selection sort) 1.算法描述: 通过n-i次关键字之间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1<=i<=n)个记录进行交换。 对尚未完成排序的所有元素,从头到尾比一遍,记录下最小的那个元素的下标,也就是该元素的位置, 把该元素交换到当前遍历的最前面。 阅读全文
posted @ 2018-05-31 22:21 kumata 阅读(192) 评论(0) 推荐(0) 编辑