- 1
- 0
- 约4.81千字
- 约 10页
- 2017-04-14 发布于贵州
- 举报
浅谈算法和数据结构 三 合并排序浅谈算法和数据结构 三 合并排序.doc
浅谈算法和数据结构: 三 合并排序
合并排序,顾名思义,就是通过将两个有序的序列合并为一个大的有序的序列的方式来实现排序。合并排序是一种典型的分治算法:首先将序列分为两部分,然后对每一部分进行循环递归的排序,然后逐个将结果进行合并。
?
合并排序最大的优点是它的时间复杂度为O(nlgn),这个是我们之前的选择排序和插入排序所达不到的。他还是一种稳定性排序,也就是相等的元素在序列中的相对位置在排序前后不会发生变化。他的唯一缺点是,需要利用额外的N的空间来进行排序。
一 原理
合并排序依赖于合并操作,即将两个已经排序的序列合并成一个序列,具体的过程如下:
1. 申请空间,使其大小为两个已经排序序列之和,然后将待排序数组复制到该数组中。
2. 设定两个指针,最初位置分别为两个已经排序序列的起始位置
3. 比较复制数组中两个指针所指向的元素,选择相对小的元素放入到原始待排序数组中,并移动指针到下一位置
4. 重复步骤3直到某一指针达到序列尾
5. 将另一序列剩下的所有元素直接复制到原始数组末尾
该过程实现如下,注释比较清楚:
private static void Merge(T[] array, int lo, int mid, int hi)
{
int i = lo, j = mid + 1;
//把元素拷贝到辅助数组中
for (int k = lo; k
您可能关注的文档
- 气体监测器和固定式2路控制器OLCT20价格气体监测器和固定式2路控制器OLCT20价格.doc
- 氧指数燃烧测定仪和离子减薄仪GL2011价格氧指数燃烧测定仪和离子减薄仪GL2011价格.doc
- 汇编实验报告-软121-蔡钺-122573汇编实验报告-软121-蔡钺-122573.doc
- 汇编语言实验报告1汇编语言实验报告1.doc
- 汇编语言实验报告汇编语言实验报告.doc
- 汇编语言课程设计报告汇编语言课程设计报告.doc
- 江西省2013年中等学校招生考试数学试卷解析江西省2013年中等学校招生考试数学试卷解析.doc
- 河南城建学院继续教育学院毕业论文设计要求(2017版)河南城建学院继续教育学院毕业论文设计要求(2017版).doc
- 洛杉矶市区一日游最佳旅行线路推荐洛杉矶市区一日游最佳旅行线路推荐.doc
- 浅谈加拿大大学和国内大学的区别浅谈加拿大大学和国内大学的区别.doc
- DB3301∕T 0435-2023 公共场所自动体外除颤器设置与维护管理规范.docx
- DB3311∕T 21-2014 生态休闲养生(养老)基地运营服务规范.docx
- DB3311∕T 236-2023 森林康复医院建设指南.docx
- DB3311∕T 264-2023 高山黄瓜生产技术规程.docx
- DB3311∕T 256-2023 高山辣椒生产技术规程.docx
- DB64∕T 1860-2023 贺兰山东麓酿酒葡萄质量控制技术规范.docx
- DB3301∕T 61-2018 社区双拥工作规范.docx
- DB3301∕T 1128-2023 高含油量油菜生产技术规程.docx
- DB3302∕T 1138-2022 食品安全责任保险风险防控服务规范.docx
- DB3303∕T 017-2020 黄瓜霜霉病、白粉病测报调查技术规程 .docx
最近下载
- 2025年通信工程师中级传输与接入(无线)真题及答案.pdf VIP
- 2025年忠县遴选公务员考试真题汇编附答案解析(夺冠).docx VIP
- 2025版血液净化模式选择专家共识解读PPT课件.pptx VIP
- 2026年双卫网继续医学教育项目《靶免时代消化系统肿瘤放疗新思路及其副作用管理》国家级3学分.doc VIP
- 半夏止呕及抗肿瘤临床与实验研究.pdf VIP
- 游戏伙伴评价:婴幼儿在自然环境中的观察.docx VIP
- 保险学(第五版)课件全套魏华林第0--18章绪论、风险与保险---保险市场监管、附章:社会保险.pptx VIP
- 人教版八年级上册数学《三角形》单元测试卷附答案(完整打印版).docx VIP
- AMC8 近年真题试卷精校排版 学生版.pdf VIP
- 安徽省合肥市一六八中学2018-2019学年高一入学考试数学试卷.doc VIP
原创力文档

文档评论(0)