随笔分类 -  排序

摘要:排序: 假设含有n个记录的序列为{r1, r2, ... rn},其相应的关键字分别为{k1, k2, ... kn},需确定1, 2 ... n的一种排列p1, p2, ... pn,使其相应的关键字满足kp1 ≤ kp2 ... ≤ kpn非递减(或非递增)关系,即使得序列成为一个按关键字有序的 阅读全文
posted @ 2017-11-01 16:03 c&z 阅读(454) 评论(0) 推荐(0) 编辑
摘要:核心代码 阅读全文
posted @ 2017-10-30 15:40 c&z 阅读(235) 评论(0) 推荐(0) 编辑
摘要:希尔排序(Shell Sort)就是将原本有大量记录数的记录进行分组(将相距某个“增量”的记录组成一个子序列),此时每个子序列待排序的记录个数就比较少了,然后在这些子序列内分别进行直接插入排序,当整个序列都基本有序时,再对全体记录进行一次直接插入排序。 所谓基本有序,就是小的关键字基本在前面,大的基 阅读全文
posted @ 2017-10-28 11:38 c&z 阅读(200) 评论(0) 推荐(0) 编辑
摘要:堆排序(Heap Sort)就是利用堆(假设利用大顶堆)进行排序的方法。它的基本思想是,将待排序的序列构造成一个大顶堆。此时整个序列的最大值就是堆顶的根节点。将它移走(其实就是将其与堆数组的末尾元素交换,此时末尾元素就是最大值),然后将剩余的n-1个序列重新构成一个堆,这样就会得到n个元素中的次大值 阅读全文
posted @ 2017-10-27 19:49 c&z 阅读(211) 评论(0) 推荐(0) 编辑
摘要:核心代码 应用场合:排序的数据属于同一个范围之内,分配得非常密集,并且重复的次数很多。 算法分析: 最好时间复杂度:O(n) 平均时间复杂度:O(n) 最坏时间复杂度:O(n) 空间复杂度:O(n) 稳定性:不稳定 阅读全文
posted @ 2017-10-22 16:08 c&z 阅读(162) 评论(0) 推荐(0) 编辑
摘要:简单选择排序(Simple Selection Sort)就是通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1≤i≤n)个记录交换之。 核心代码 算法分析: 最好时间复杂度:O(n^2) 平均时间复杂度:O(n^2) 最坏时间复杂度:O(n^2) 空间复杂度:O(1 阅读全文
posted @ 2017-10-21 19:54 c&z 阅读(213) 评论(0) 推荐(0) 编辑
摘要:快速排序(Quick Sort)的基本思想是:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序的目的。 核心代码 算法分析: 最好时间复杂度:O(nlog2(n)) 平均时间复杂度:O(nlog2(n) 阅读全文
posted @ 2017-10-20 11:26 c&z 阅读(318) 评论(0) 推荐(0) 编辑
摘要:核心代码 算法分析: 最好时间复杂度:位数*(n+桶的个数) 平均时间复杂度:位数*(n+桶的个数) 最坏时间复杂度:位数*(n+桶的个数) 空间复杂度:n+桶的个数 稳定性:稳定 阅读全文
posted @ 2017-10-18 23:18 c&z 阅读(236) 评论(0) 推荐(0) 编辑
摘要:归并排序(Merging Sort)就是利用归并的思想来实现的排序方法。它的原理是假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,再两两归并,... ,如此反复,直至得到一个长度为n的有序序列为止,这种排序方法称为2路归并排序。 核心代码(C实现) 核心代 阅读全文
posted @ 2017-10-17 22:12 c&z 阅读(202) 评论(0) 推荐(0) 编辑
摘要:直接插入排序(Straight Insertion Sort)的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。 核心代码(C实现) void InsertSort(int arr[], int len) { //无序数组的下标 int i; //有序数组的下标 阅读全文
posted @ 2017-10-16 23:53 c&z 阅读(258) 评论(0) 推荐(0) 编辑
摘要:冒泡排序(Bubble sort)是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。 经过第一趟排序,我们可以让第一个最大值冒出来(体现冒泡二字),经过第二趟排序,我们可以让次最大值冒出来... 遍历的趟数是:所需排序数据的长度减一 交换的次数是:所需 阅读全文
posted @ 2017-10-15 20:41 c&z 阅读(241) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示