摘要: 排序就是将一组杂乱无章的数据按一定的规律(关键字)排列起来(或增或减)。在查找数据之前,我们可以通过排序操作对数据进行排序,以此方便数据查找。 排序的规律成为:关键字 关键字分为主关键字和次关键字 主关键字:通过主关键字进行排序,排序的结果是唯一的。常用的id 次关键字:通过次关键字进行排序的结果可 阅读全文
posted @ 2018-06-10 22:26 环球学习机 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 直接插入排序:顺序的将待排序的数据对象按其值得大小插入到已排序数据元素的有序序列的适当位置。有序序列的数据元素从只有一个数据元素之间增加到所有的素具元素,排序结束。分为倒序比较和正序比较,以下是顺序比较的例子: 算法简洁,但是只有待排序元素个数n较少时,效率才高。 所需空间:一个表示当前元素的哨兵n 阅读全文
posted @ 2018-06-10 21:46 环球学习机 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 桶排序:通常用于少量整数的排序,当然也可存在于类似map这种键和值可以类型相同的排序中。 需要排序的数组a,另一个长度为排序数组a元素最大值、每一个元素的初始值为0的数组b,通过循环遍历数组a,每当数组a的元素出现,该元素值所对应的b数组的下标,其元素值做加1。直到遍历完成,数组b元素的值就是下标对 阅读全文
posted @ 2018-06-10 16:22 环球学习机 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 直接选择排序:通过n-1轮外层循环排序,第 i 轮排序都会有一个n-i-1的内层循环,每次内层循环从无序序列中取得最大值或最小值的下标,通过两两比较、不交换的方式(内层循环不进行元素移动,进行最小值或最大值下标的改变),当每一轮外层循环结束时,通过最大值或最小值的下标,将最大值或最小值移动到有序序列 阅读全文
posted @ 2018-06-10 16:03 环球学习机 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序:通过n-1轮外层循环,每第 i 轮外层循环都会有一个n-1-i轮内层循环,且每一轮内层循环将无序序列的最大或最小的一个数,需要通过两两对比、交换的方式(可能存在多次位置交换)逐渐冒泡移动、增加到有序序列中。直到无序序列只剩最后一个最大或最小的数,默认进入有序序列,排序结束。 最坏情况——逆 阅读全文
posted @ 2018-06-10 15:34 环球学习机 阅读(197) 评论(0) 推荐(0) 编辑