
排序算法
叔子衿
山风水月皆下等,唯有眼前人为上
展开
-
插入排序C语言实现 - 源码详解
插入排序 时间复杂度:O(N²) 稳定性:稳定 排序原理: 插入排序适合数据已大致有序了的场合 假定一个初始有序数列(初始设定首元素为有序数列),后边的元素都是待插入数据,一次插入一个, 在有序数列中找待插入数据的位置,然后在将该位置后的有序数据后移,空出位置,然后插入。 以此类推直到所有数据插入完成。 适用场景: 数据相对有序、算法时间要求低稳定性好的场景中,选排是一个比较好的选择...原创 2019-10-12 15:25:23 · 1601 阅读 · 0 评论 -
快速排序C语言实现 - 源码详解
取初始基准值,将数组中其它元素与基准值比较,根据大小分别放置在基准值的左右。 一轮比较后,确定该基准值在数组中的确切位置。再将该位置前后所有元素分成两个数组,重复上述过程,直到最后只剩下一个数进入下一轮,则重复完毕。原创 2019-10-12 15:10:35 · 3707 阅读 · 2 评论 -
选择排序C语言实现 - 源码详解
时间复杂度:O(N²) 稳定性:不稳定 排序原理: 从前往后遍历,每一次遍历都从待排序数列的剩余数列中,选择最大(最小)数出来放置在数列前方 排序过程:(大到小) 1.从前向后遍历数组 2.初始假定已排序数列为data[0],从后面的数据中查找最大值所在位置(下标) 3.将找到的最大数与已排序的后...原创 2019-10-12 14:51:33 · 1081 阅读 · 0 评论