排序算法
文章平均质量分 83
qq_20398345
这个作者很懒,什么都没留下…
展开
-
001. 10大排序算法
https://blog.csdn.net/fanyun_01/article/details/80676768里面部分算法有问题,需要验证概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:...转载 2018-07-05 10:47:02 · 173 阅读 · 0 评论 -
各种排序算法及其复杂度
https://blog.csdn.net/maggiedorami/article/details/7953072 稳定的 冒泡排序(bubble sort) — O(n^2) 鸡尾酒排序(Cocktail sort,双向的冒泡排序) — O(n^2) 插入排序(insertion sort)— O(n^2) 桶排序(bucket sort)— O(n); 需要 O(...转载 2018-07-19 00:20:46 · 293 阅读 · 0 评论 -
[冒泡排序优化]
参考链接:https://mp.weixin.qq.com/s/pK6GvkwHFnnDKo4r28G2Qw 漫画:什么是冒泡排序?https://blog.csdn.net/MaggieDorami/article/details/7956945 【排序算法】鸡尾酒排序的实现与分析http://www.php.cn/csharp-article-351341.html 鸡尾...原创 2018-07-19 00:17:36 · 122 阅读 · 0 评论 -
008.桶排序/基数排序(Radix Sort)
说基数排序之前,我们先说桶排序:基本思想:是将阵列分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递回方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的阵列内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是 比较排序,他不受到 O(n log n) 下限的影响。 简单来说,就是把数据分组,放在一个个的桶中,然后对...转载 2018-07-04 19:38:59 · 298 阅读 · 0 评论 -
007.归并排序(Merge Sort)
基本思想:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并排序示例: 合并方法:设r[i…n]由两个有序子表r[i…m]和r[m+1…n]组成,两个子表长度分别为n-i +1、n-m。j=m+1;k=i;i=i; //置两个子表的起始下标及辅助数组的起始下标若i>m 或j&...转载 2018-07-04 19:37:58 · 105 阅读 · 0 评论 -
006.交换排序—快速排序(Quick Sort)
基本思想:1)选择一个基准元素,通常选择第一个元素或者最后一个元素,2)通过一趟排序讲待排序的记录分割成独立的两部分,其中一部分记录的元素值均比基准元素值小。另一部分记录的 元素值比基准值大。3)此时基准元素在其排好序后的正确位置4)然后分别对这两部分记录用同样的方法继续进行排序,直到整个序列有序。快速排序的示例:(a)一趟排序的过程:(b)排序的全过程算法的实现: 递归实现:void print...转载 2018-07-04 19:32:45 · 148 阅读 · 0 评论 -
常用排序算法总结(一)
http://www.cnblogs.com/eniac12/p/5329396.html 目录冒泡排序 鸡尾酒排序 选择排序插入排序二分插入排序 希尔排序 归并排序堆排序快速排序 我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。 排序算法大体可分为两种: 一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排...转载 2018-07-04 19:29:43 · 98 阅读 · 0 评论 -
005.交换排序—冒泡排序(Bubble Sort)
//=========================以下为自己实现=============================#include <stdlib.h>#include <stdio.h>#define aray_num 10void printfArray(int list[]){ int i; for(i=0; i<aray_num-1;...转载 2018-07-04 10:19:02 · 145 阅读 · 0 评论 -
004.选择排序—堆排序(Heap Sort)
//===============================以下为自己实现===============================#include <stdlib.h>#include <stdio.h>#define aray_num 10void printfArray(int list[]){ int i; for(i=0; i<ara...转载 2018-07-05 10:46:43 · 140 阅读 · 0 评论 -
003.选择排序—简单选择排序(Simple Selection Sort)
//=============================以下为自己实现===============================#include <stdlib.h>#include <stdio.h>#define aray_num 10void printfArray(int list[]){ int i; for(i=0; i<aray_...转载 2018-07-05 10:46:53 · 201 阅读 · 0 评论 -
002. 插入排序—希尔排序(Shell`s Sort)
//=================================以下为自己实现===================================#include <stdlib.h>#include <stdio.h>#define aray_num 10void printfArray(int list[]){ int i; for(i=0; i&...转载 2018-07-05 10:47:12 · 130 阅读 · 0 评论 -
001. 插入排序—直接插入排序(Straight Insertion Sort)
//============================以下为自己实现============================================#include <stdlib.h>#include <stdio.h>#define aray_num 10void printfArray(int list[]){ int i; for(i=0...转载 2018-07-04 10:39:37 · 144 阅读 · 0 评论 -
八大排序算法
参考链接: (注:代码为自己实现)https://blog.csdn.net/hguisu/article/details/7776068/概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O...原创 2018-07-19 16:22:12 · 165 阅读 · 0 评论