排序
文章平均质量分 57
WangDong_CNDS
知其然,知其所以然!
展开
-
堆排序小根堆 大根堆 迭代 递归 总结 完整代码
http://blog.csdn.net/morewindows/article/details/6709644/原创 2016-10-05 15:30:55 · 4182 阅读 · 0 评论 -
排序总结系列六:归并排序
归并的递归实现 void MergeSort(int *ar, int length) //排错 { assert(ar != NULL); MSort(ar, 0, length - 1); } void MSort(int *ar, int start, int end) { int *br = new int[end]; if (start { int mid = (原创 2016-10-06 10:21:32 · 325 阅读 · 0 评论 -
排序总结系列四:希尔排序
注明原址,知识分享,任意转载!转载 2016-10-06 10:15:25 · 1895 阅读 · 0 评论 -
排序总结系列九:计数排序(Counting sort)
计数排序(Counting sort)是一种稳定的排序算法。计数排序使用一个额外的数组C,其中第i个元素是待排序数组A中值等于i的元素的个数。然后根据数组C来将A中的元素排到正确的位置。 当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 Θ(n+k)。计数排序不是比较排序,排序的速度快于任何比较排序算法。 由于用来计数的数组C的长度取决于待排序数组中数据的范围(等于原创 2016-10-06 10:31:02 · 737 阅读 · 0 评论 -
排序总结系列七:堆排序
1.堆基础 堆:完全二叉树或者是近似完全二叉树 大根堆:每个结点的值都大于或等于其左右孩子结点的值。(从前至后头序) 小根堆:每个结点的值都小于或等于其左右孩子结点的值。(从后至前头序) 堆排序要解决的问题: 【1】如何由一个无序序列构建成一个堆。=>堆的调整其实就是从下往上,从右到左的调整。 【2】如果在输出堆顶元素后,调整剩余元素成为一个新的堆??? 2.堆的存储翻译 2016-10-06 10:23:38 · 366 阅读 · 0 评论 -
排序总结系列五:快速排序
1.快速排序的思想 经过一趟排序将待排序的记录分割成独立的两部分,其中一部分记录比关键字大的,一部分记录比关键字小的,在可分别对这两部分记录继续进行排序,以达到整体有序的目的。 void Qsort(int *ar, int left, int right); //函数声明 int partition(int *arr, int left, int right);//函数声明 ////原创 2016-10-06 10:19:25 · 545 阅读 · 0 评论 -
排序总结系列一:冒泡排序
排序总结系列 冒泡排序 优化 源码 C原创 2016-10-06 10:00:39 · 427 阅读 · 0 评论 -
排序总结系列三:选择排序
注明原址,知识分享,任意转载!原创 2016-10-06 10:11:33 · 280 阅读 · 0 评论 -
排序总结系列二:直接插入排序
排序总结系列二:直接插入排序原创 2016-10-06 10:06:41 · 394 阅读 · 0 评论 -
排序总结系列十:排序总结
https://my.oschina.net/hanzhankang/blog/194104 http://blog.csdn.net/whuslei/article/details/6442755 1.分类: 1)插入排序(直接插入排序、希尔排序) 2)交换排序(冒泡排序、快速排序) 3)选择排序(直接选择排序、堆排序) 4)归并排序 5)分配排序(箱排序、转载 2016-10-06 10:33:28 · 416 阅读 · 0 评论 -
排序总结系列八:桶排序Bucket sort(基数排序)
桶排序Bucket sort(基数排序) 补充说明三点 1,桶排序是稳定的 2,桶排序是常见排序里最快的一种,比快排还要快…大多数情况下 3,桶排序非常快,但是同时也非常耗空间,基本上是最耗空间的一种排序算法 RadixSort.cpp static int GetMaxFigure(int *arr,int len)//得到一组数的最大值,并返回其位数 { int co原创 2016-10-06 10:27:16 · 543 阅读 · 0 评论