
排序
June.lu
这个作者很懒,什么都没留下…
展开
-
快速排序
快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 通俗的来说,就是每次选数组的第一个数作为基数,然后以后的操作就是把在基数右边且小于该基数的数与该基数交换和在基数左边且大于该原创 2017-09-01 13:18:47 · 369 阅读 · 0 评论 -
最大堆实现堆排序
堆排序(这里使用的是最大堆) 思想:1、将当前的堆转换成最大堆(从最大的非叶子结点开始,(1)判断根结点和左右结点的大小交换相互的位置, 使得该子树成为最大堆,每次交换成功后就继续往该结点的子结点去重复(1)操作,直到根结点后再去下一个非叶子结点,直到根结点) 2、转成最大堆后,每次就将第一个结点互最后一个结点进行交换,然后将整个堆的长度减去1 (因为最后一个结点就是整个数组中最大的元素,原创 2017-09-13 00:36:30 · 875 阅读 · 0 评论