归并排序
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。值得注意的是归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。
算法描述
归并操作的工作原理如下:
第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列
第二步:设定两个指针,最初位置分别为两个已经排序序列的起始位置
第三步:比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置
时间复杂度:
时间复杂度为O(nlogn) 这是该算法中最好、最坏和平均的时间性能。
空间复杂度为 O(n)
比较操作的次数介于(nlogn) / 2和nlogn - n + 1。
赋值操作的次数是(2nlogn)。归并算法的空间复杂度为:0 (n)
归并排序比较占用内存,但却效率高且稳定的算法。
(以上摘抄自百度百科)
代码实现
自顶向上实现:
//使用辅助数组实现归并的过程
复制代码 代码如下:
void MergeSort(int *aux, int *data, int l, int m, int h)
{
int k=0, i=l, j=m+1;
for(k=l; k<=h; k++)
{
if(i>m) aux[k]=data[j++];
else if(j>h) aux[k]=data[i++];
else if(data[i]<data[j]) aux[k]=data[i++];
else aux[k]=data[j++];
}
for(k=l; k<=h; k++)
data[k]=aux[k];
}
用递归实现排序的过程(自顶向下归并)
复制代码 代码如下:
void Sort(int *aux, int *data, int l, int h)
{
if(l<h)
{
int m=l+(h-l)/2;
Sort(aux, data, l, m);
Sort(aux, data, m+1, h);
MergeSort(aux,data, l, m, h);
}
}
用非递归实现排序的过程(自底向上归并)
复制代码 代码如下:
void NonRerMerSort(int *aux, int *data, int l, int h)
{
int i=l, j;
for(i=l; i<=h; i=2*i)
{
for(j=l; j<=h-i; j+=2*i)
MergeSort(aux, data, j, i+j-1, Min(j+2*i-1,h));
}
}
相关推荐:
seo是什么狗狗视频软件,狗狗视频图 ,ai腾讯写作
SEO站外优化策略:提升网站排名的关键因素,嗨淘网站建设素材视频
“关键词指白”:揭秘如何通过精准关键词优化实现流量暴增,回兴房地产网站推广
seo收费有什么功能,seo收费低 中山seo推广方法
免费海外VPS服务器,畅游全球网络无界限!
SEO外,如何提升网站整体营销效果?,深圳高端营销型网站建设
SEO是什么发色好看,什么是seosem ,ai图片转位图填色
域名全解析到VPS,快速搭建网站访问新体验!
“新热度”:引领潮流的力量,如何趋势的脉搏,福建个性化网站建设
京东业绩再创新高:未来电商巨头的成功之道,清远个人网站推广多少钱
SEO知道:让你的网站在搜索引擎中脱颖而出,宁河区推广网站
seo需要什么思考,seo要考虑哪些方面 黄埔区网站推广
云服务器与VPS大比拼,揭秘差异,哪个更符合你的需求?
SEO详解:如何优化你的网站提升排名,获得更多流量,赤水seo网站优化
seo工作的核心是什么,seo工作的内涵 推广证书模板下载网站
Windows VPS一键SS,极速上网,轻松畅享新体验!
seo是什么物质,seo到底是什么 ,ai5858697
独家揭秘,云主机VPS价格全解析!
东南亚VPS动态IP解析揭秘与深度探索
SEO建站,开启网站优化的全新篇章!,网站微信推广合同
为什么seo这么麻烦,seo是什么意思 为什么要做seo ,ai笔画写字
SEO是什么意思?揭秘SEO的真正含义与重要性,网站抬头如何更适合优化
seo是什么介入术式,seo术语解释 ,ai住
SEO动态:2025年SEO趋势与优化技巧解析,做网站优化分析
SEO桔子:提升网站排名的必备法宝,天津网站建设在哪
江山机房精密空调怎么样?
“多网建站”助力企业跨越发展,开启全新数字化时代,石家庄小网站推广
VPS竖型封口机,高效精准,封口首选之选
seo描述是写什么,seo描述的专业要求 ,电脑版吃鸡AI训练
Zkept:重塑未来生活的智能科技革新,中山找网站建设
seo是什么特点,seo包括哪些方面 邯郸网站建设项目教程
seo网站排名优化哪家好,seo网站优化平台 ,不要和AI
VPS 1T存储空间是否满足需求?详解存储空间需求分析
VPS操作深度解析,超越注销与关闭的奥秘
SEO职责:为网站注入流量,提升品牌竞争力,各类手机网站建设
SEO教研:数字营销新趋势,提升网站流量与转化率的关键,青岛建设专业网站
seo指向是什么,seo指令和用法 顺义区大型网站建设检修
美的精密机房空调怎么样?
丹阳机房ups电源怎么样?
工厂制冷机房怎么样?
SEO目标:让您的网站轻松登顶搜索引擎,seo搜索优化 河源
seo最难的是什么,seo难做的行业 ,carl ai
seo是什么化学元素,seo表示什么 ,小熊 ai
“新关键词”开启智慧营销新篇章,助力品牌突围,餐饮网站推广策划
seo是什么怎么操作,seo什么意思 ,联想小新有ai写作功能吗
“洗稿技巧如何让你的文章脱颖而出,轻松提升内容创作水平!”,舞钢seo优化软件
SEO能处理什么,seo的项目有哪些 网站方案优化设计软件
为什么做seo的人很少,为了什么做seo ,严阵以待游戏ai盾牌
永城科士达机房空调怎么样?
应对搬瓦工VPS封锁的实用策略与解决方案!