07 2020 档案
摘要:快速排序 快速排序的基本思想是从数组中取一个值作为轴,然后遍历数组将比该值小或与该值相等的元素移动到数组的左部分,将比该值大的元素移动到数组的右部分,然后对左右部分使用递归进行相同操作,下面通过一个示例演示下快排的操作流程 假定初始数组为:{2,5,7,1,3,4},每次都以数组的末尾元素作为轴 那
阅读全文
摘要:归并排序 归并排序的思想是将两个有序数组合并成一个新的有序数组的过程,所以要使用归并就必须保证待合并的两个数组本身是有序的。 归并排序的流程 需要一个中间数组,长度为两个待合并数组的长度之和,然后需要三个索引值,分别为左索引指向左数组(待合并数组一)0号索引位置,右索引指向右数组(待合并数组二)0号
阅读全文
摘要:希尔排序 前面我们说过了插入排序,它是三种基本排序中最常用的一种排序,具有排序稳定,空间复杂度低,而且在样本小且基本有序时效率比较高,该篇讲述的希尔排序是对插入排序的一种优化排序,在希尔排序开始阶段,通过增量的方式使排序的样本小化,在希尔排序的最后阶段蜕变成插入排序,但可以完美实现样本基本有序,从而
阅读全文
摘要:插入排序 之前的文章讲过选择排序和冒泡排序,他们都有各自的优缺点,比如选择排序不稳定,冒泡排序效率较低等。这次我们来聊一聊简单排序中的最后一种——插入排序,相比于选择排序和冒泡排序,是更为常用的简单排序,在样本小且基本有序的时候效率比较高。 插入排序的基本思想每次从无序数组中取一个值然后插入到有序数
阅读全文

浙公网安备 33010602011771号