码迷,mamicode.com
首页 >  
搜索关键字:并排    ( 3427个结果
[转载]稳定排序和不稳定排序
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。
分类:编程语言   时间:2015-01-18 22:29:37    阅读次数:220
[数据结构]归并排序
归并排序点击打开链接[cpp]view plaincopy//将有二个有序数列a[first...mid]和a[mid...last]合并。voidmergearray(inta[],intfirst,intmid,intlast,inttemp[]){inti=first,j=mid+1;intm...
分类:编程语言   时间:2015-01-18 21:05:46    阅读次数:295
【Algorithm】逆序数的分治求解
逆序数的分治求解,时间复杂度O(nlgn)。基本思想是在归并排序的基础上加逆序计数。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 #define MAXN 100005...
分类:其他好文   时间:2015-01-18 16:55:41    阅读次数:162
二路归并排序算法
归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 归并过程为:比较a[i]和a[...
分类:编程语言   时间:2015-01-18 00:50:00    阅读次数:257
一些基本排序算法的实现
花了点时间一次性实现9个基本排序算法, 其中包括: 【冒泡排序】,【直接选择排序】,【直接插入排序】, 【希尔排序】,【折半插入排序】,【快速排序】, 【堆排序】,【锦标赛排序】,【归并排序】。 储存方式是用数组,元素可以是支持重载运算符的自定义类型, 有在数组中直接复制的,也有在中间过程中用索引记录的, 但最终都结果都保存在原数组中,废话不多说了,直接上代码!...
分类:编程语言   时间:2015-01-17 19:31:03    阅读次数:226
二路归并 && 插入归并 && 原地归并
插入归并 归并排序的时间复杂度为O(nlgn),空间复杂度为O(n); 但是一般来讲,基于从单个记录开始两两归并的排序并不是特别提倡,一种比较常用的改进就是结合插入排序,即先利用插入排序获得较长的有序子序列,然后再两两归并(改进后的归并亦是稳定的,因为插入排序是稳定的)。之所以这样改进是有原因的:尽管插入排序的最坏情况是O(n^2),看起来大于归并的最坏情况O(nlgn),但通常情况下,由于插...
分类:其他好文   时间:2015-01-17 18:03:28    阅读次数:222
经典算法题每日演练——第十八题 外排序
原文:经典算法题每日演练——第十八题 外排序 说到排序,大家第一反应基本上是内排序,是的,算法嘛,玩的就是内存,然而内存是有限制的,总有装不下的那一天,此时就可以来玩玩 外排序,当然在我看来,外排序考验的是一个程序员的架构能力,而不仅仅局限于排序这个层次。 一:N路归并排序 1.概序 我们知道算法中...
分类:编程语言   时间:2015-01-16 12:55:26    阅读次数:265
算法系列15天速成——第三天 七大经典排序【下】
原文:算法系列15天速成——第三天 七大经典排序【下】今天跟大家聊聊最后三种排序: 直接插入排序,希尔排序和归并排序。 直接插入排序: 这种排序其实蛮好理解的,很现实的例子就是俺们斗地主,当我们抓到一手乱牌时,我们就要按照大小梳理扑克,30秒后, 扑克梳理完毕,4条3,5条s,哇塞...... 回忆...
分类:编程语言   时间:2015-01-16 09:53:07    阅读次数:296
LeetCode--Sort List
Sort a linked list in O(n log n) time using constant space complexity. MergeSort对于链表的排序,实现了就地排序的同时,时间复杂度和空间复杂度都达到了基于比较的排序的最优值,因此归并排序是链表排序的最佳排序方式。 /** * Definition for singly-linked list. * str...
分类:其他好文   时间:2015-01-15 16:01:52    阅读次数:193
归并排序的分析及实现
思想:将两个(或以上)的有序表组成新的有序表。说明:(1)更实际的意义:可以把一个长度为n 的无序序列看成是 n 个长度为 1 的有序子序列 ,首先做两两归并,得到 én / 2ù 个长度为 2 的子序列 ;再做两两归并,…,如此重复,直到最后得到一个长度为 n 的有序序列。(2)性能分析。空间性能...
分类:编程语言   时间:2015-01-15 12:21:34    阅读次数:259
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!