![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
文章平均质量分 79
tiantangrenjian
这个作者很懒,什么都没留下…
展开
-
交换排序
交换排序法 冒泡排序 | 鸡尾酒排序 | 奇偶排序 | 梳排序 | Gnome sort | 快速排序 鸡尾酒排序 等于是冒泡排序的轻微变形。不同的地方在于从低到高然后从高到低,而冒泡排序则仅从低到高去比较序列里的每个元素。他可以得原创 2011-09-23 20:55:42 · 629 阅读 · 0 评论 -
【PAT1038】Recover the Smallest Number 字符串组合大小
1038. Recover the Smallest Number (30) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given a collection of number原创 2013-11-15 22:50:38 · 1264 阅读 · 0 评论 -
基数排序【经典】
参考 《数据结构》(C语言版)--严蔚敏编著 教材 P288,用C语言实现经典的基数排序算法。用例也参考教材P287. #include #define RADIX 10 //关键字基数,一般为10进制 #define MAX_SPACE 100 //数组最大容量 /*--- 静态链表 ---*/ struct SLCell{ int keys; //关键字 用于存储待排序的数 i原创 2012-01-03 20:20:39 · 812 阅读 · 0 评论 -
归并排序
归并排序(Merge sort,台湾译作:合并排序)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 分类 排序算法 数据结构 数组 最差时间复杂度 Θ(nlog n) 最优时间复杂度 Θ(n) 平均时间复杂度 Θ(nlog n) 最差空间复杂度原创 2012-01-03 15:36:48 · 648 阅读 · 0 评论 -
基数排序
基数排序(Radix sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。基数排序的发明可以追溯到1887年赫尔曼·何乐礼在打孔卡片制表机(Tabulation Machine)上的贡献[1]。 它是这样实现的: 将所有待比较数值(正整数)统一为原创 2012-01-03 15:57:58 · 612 阅读 · 0 评论 -
Strand sort 属于归并排序
Strand sort is a sorting algorithm. It works by repeatedly pulling sorted sublists out of the list to be sorted and merging them with a result array. Each iteration through the unsorted list pulls o原创 2012-01-03 15:52:44 · 1153 阅读 · 0 评论 -
选择排序和堆排序
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此类推,直到所有元素均排序完毕。 void selectionSort(int data[], int count) { int i, j, min, temp;原创 2011-09-23 21:48:49 · 484 阅读 · 0 评论 -
桶排序和计数排序
桶排序和计数排序 桶排序 (Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将阵列分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递回方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的阵列内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是 比较排序,他不受到 O(n log n) 下限的影响。原创 2012-01-03 15:26:50 · 3461 阅读 · 0 评论 -
HDU 3785 寻找大富翁
寻找大富翁 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 498 Accepted Submission(s): 282 Problem Description 浙江桐乡乌镇共有n个人,请找出该镇上原创 2011-09-03 19:08:00 · 2233 阅读 · 0 评论 -
败者树 K-路归并排序
外部排序指的是大文件的排序,即待排序的记录存储在外存储器上,待排序的文件无法一次装入内存,需要在内存和外部存储器之间进行多次数据交换,以达到排序整个文件的目的。外部排序最常用的算法是多路归并排序,即将原文件分解成多个能够一次性装入内存的部分,分别把每一部分调入内存完成排序。然后,对已经排序的子文件进行多路归并排序。 多路归并排序算法在常见数据结构书中都有涉及。从2路到多路(k路),增原创 2011-09-30 22:15:07 · 12181 阅读 · 0 评论 -
拓扑排序 C++实现
【拓扑排序主要思想】 有向图可以拓扑排序的条件是:图中没有环。 具体方法: ⑴ 从图中选择一个入度为0的点加入拓扑序列。 ⑵ 从图中删除该结点以及它的所有出边(即与之相邻点入度减1)。 反复执行这两个步骤,直到所有结点都已经进入拓扑序列。 参照严蔚敏的《数据结构(C语言版)》教材,163页有图的邻接表结构定义方法,181-182有课程优先关系的用例和拓扑排原创 2011-09-03 22:01:30 · 10021 阅读 · 6 评论 -
拓扑排序 C实现
接着上一次的C++实现,这次用C语言写一遍。主要是多了栈Stack的实现部分。 参考了《数据结构》教材。 代码如下: #include #include #include #include //-----图的邻接表存储表示 #define MAX_VERTEX_NUM 20 typedef struct ArcNode{ int adjvex; //该弧所指向的顶点原创 2011-09-05 16:43:09 · 2396 阅读 · 0 评论 -
排序算法总结
转自 http://zh.wikipedia.org/wiki/排序算法 稳定的 冒泡排序(bubble sort) — O(n2)鸡尾酒排序 (Cocktail sort, 双向的冒泡排序) — O(n2)插入排序 (insertion sort)— O(n2)桶排序 (bucket sort)— O(n); 需要 O(k) 额外空间计数排序 (counting sort)转载 2011-09-23 20:46:12 · 703 阅读 · 0 评论 -
快速排序
快速排序算法可以说是算法中最基本最常用的原创 2014-09-21 19:36:15 · 1856 阅读 · 0 评论