排序算法
衡扫天下
这个作者很懒,什么都没留下…
展开
-
排序算法之快速排序详解
排序算法之快速排序简介原理枢纽元的选取分割策略代码实现性能分析简介今天介绍排序算法中最重要的快速排序,顾名思义,快速排序之所以能在历史的长河中脱颖而出以“快速”两字命名,就是因为经多年实践证明它是已知最快的泛型排序算法。并且到目前为止还没有哪个算法能撼动其位置。所以它的重要性是不言而喻的,是我们一定要熟悉并掌握的排序算法。原理前不久我们刚讲过归并排序(归并排序),快速排序同归并排序一样,也...原创 2020-05-04 19:45:31 · 453 阅读 · 0 评论 -
排序算法之归并排序
排序算法之归并排序原理代码实现性能分析原理今天介绍另一种十分高效的排序算法——归并排序。其通过将两个有序的表合并成一个有序表进行排序,过程是取两个待合并数组AAA和BBB,一个待输出数组CCC,以及计数器ActrActrActr、BctrBctrBctr、CctrCctrCctr,计数器初始位置于其数组首地址,然后将ActrActrActr和BctrBctrBctr指向值中的最小值赋予Cctr...原创 2020-05-03 18:06:15 · 440 阅读 · 0 评论 -
排序算法之堆排序
排序算法之堆排序简介之前讲过简单选择排序,它是通过nnn次遍历,每次选出最小值,从而完成排序,因为没有保存每次遍历的结果,所以在每次遍历时都要遍历剩余的所有元素,因此操作次数较多,那我们可不可以在每次选择最小元素的同时,根据比较结果对其他元素进行调整,使其最小值始终处于某个位置,这样每次选择最小值时就不用进行多余的操作,从而提高了效率。下面我们就介绍这样一种排序算法——堆排序。简介堆排序是采...原创 2020-05-03 12:06:40 · 133 阅读 · 0 评论 -
排序算法之希尔排序
排序算法之希尔排序简介代码讲解性能分析简介之前介绍的几种排序算法,简单选择排序、直接插入排序,它们的时间复杂度都是O(n2)O(n^2)O(n2)。实际上在早期很长一段时间内,普遍认为排序算法的效率不会高于O(n2)O(n^2)O(n2),直到希尔排序算法的出现才打破了这一认知。希尔排序是第一批冲破二次时间界(O(n2)O(n^2)O(n2))的算法之一。它通过比较相距一定距离的元素来排序,各...原创 2020-04-30 16:07:07 · 1547 阅读 · 0 评论 -
排序算法之直接插入排序
排序算法之直接插入排序简介代码讲解性能分析简介直接插入排序是插入排序的一种。它思想是将一个新的数据插图到已经排好序的有序表中,然后得到一个新的有序表。因为思想和代码很简单,我们仍然直接通过代码进行讲解。代码讲解首先提供代码:struct SqList{ int r[MAXSIZE + 1]; //r0用作哨兵 int length;};void insertsort(SqLi...原创 2020-04-30 10:50:52 · 119 阅读 · 0 评论 -
排序算法之简单选择排序
排序算法之简单选择排序简介代码实现性能分析排序算法和查找算法一样是最常用最重要的算法之一,排序算法有交换排序、插入排序、选择排序和归并排序等,本专栏给大家介绍一些以上排序算法中的经典算法,今天先给大家介绍第一种——简单选择排序。本文完整代码见kfc/sort简介简单选择排序是选择排序的一种,选择排序原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从...原创 2020-04-28 11:31:44 · 588 阅读 · 0 评论