摘要: 图解排序算法之堆排序 预备知识 堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。 堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每 阅读全文
posted @ 2020-08-23 15:38 ~风铃~ 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 图解排序算法之快速排序—三数取中法 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有 阅读全文
posted @ 2020-08-23 15:32 ~风铃~ 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 图解排序算法 - 归并排序 基本思想 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而 阅读全文
posted @ 2020-08-23 15:27 ~风铃~ 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 排序算法 0.1 排序的定义 对一序列对象根据某个关键字进行排序。 0.2 术语说明 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把数据放在磁 阅读全文
posted @ 2020-08-23 14:55 ~风铃~ 阅读(179) 评论(0) 推荐(0) 编辑