二路归并排序
2016-05-02 14:02
393 查看
1、执行流程
原始序列:49、38、65、97、76、13、27
(1)将原始序列看成是7个只含有一个元素的子序列,显然这些子序列都是有序的。
子序列1:49
子序列2:38
子序列3:65
子序列4:97
子序列5:76
子序列6:13
子序列7:27
(2)两两归并,形成若干有序二元组。第一趟二路归并排序结束,结果如下:
{38、49,},{65、97},{13、76},{27}
(3)再将这个序列看成若干二元组子序列。
子序列1:38、49
子序列2:65、97
子序列3:13、76
子序列4:27
(4)继续两两归并,形成若干有序四元组。。第二趟二路归并排序结束,结果如下:
{38、49、65、97},{13、27、76}
(5)最后只有两个子序列了,在进行一次归并,就可完成整个二路归并排序,结果如下:
13、27、38、49、65、76、97
原始序列:49、38、65、97、76、13、27
(1)将原始序列看成是7个只含有一个元素的子序列,显然这些子序列都是有序的。
子序列1:49
子序列2:38
子序列3:65
子序列4:97
子序列5:76
子序列6:13
子序列7:27
(2)两两归并,形成若干有序二元组。第一趟二路归并排序结束,结果如下:
{38、49,},{65、97},{13、76},{27}
(3)再将这个序列看成若干二元组子序列。
子序列1:38、49
子序列2:65、97
子序列3:13、76
子序列4:27
(4)继续两两归并,形成若干有序四元组。。第二趟二路归并排序结束,结果如下:
{38、49、65、97},{13、27、76}
(5)最后只有两个子序列了,在进行一次归并,就可完成整个二路归并排序,结果如下:
13、27、38、49、65、76、97
相关文章推荐
- JavaScript演示排序算法
- C#数据结构之顺序表(SeqList)实例详解
- Lua教程(七):数据结构详解
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- C#数据结构之队列(Quene)实例详解
- C#数据结构揭秘一
- C#数据结构之单链表(LinkList)实例详解
- 数据结构之Treap详解
- 算法之排序算法的算法思想和使用场景总结
- PHP版本常用的排序算法汇总
- 用C语言举例讲解数据结构中的算法复杂度结与顺序表
- C#数据结构之堆栈(Stack)实例详解
- C#数据结构之双向链表(DbLinkList)实例详解
- JavaScript数据结构和算法之图和图算法
- JavaScript实现多种排序算法
- Java数据结构及算法实例:冒泡排序 Bubble Sort
- php 地区分类排序算法
- js三种排序算法分享
- Javascript中的常见排序算法
- Java数据结构及算法实例:插入排序 Insertion Sort