归并排序
归并算法的中心是归并两个已经有序的数组
归并排序的思想是把一个数组分成两半,排序每一半,然后把两半归并成有序的数组
MergeSort.py结构
归并方法入口
合并A数组和B数组到C数组的方法
|
|
步骤 | 比较(如果两个数组有值的话) | 复制 |
---|---|---|
1 | 23 < 7 ? | 7 B->C |
2 | 23 < 14 ? | 14 B->C |
3 | 23 < 39 ? | 23 A->C |
4 | 39 < 47 ? | 39 B->C |
5 | 55 < 47 ? | 47 A->C |
6 | 55 < 81 ? | 55 B->C |
7 | 62 < 81 ? | 62 B->C |
8 | 74 < 81 ? | 74 B->C |
9 | 81 A->C | |
10 | 95 A->C |
合并操作说明
1.代码中#1功能是步骤1-8的比较方法,把AB两个数组中的值小的放入到临时数组空间上
2.代码中#2功能是第8步以后没有可比较数据了就直接把剩余数据复制到C上
3.代码中#3功能是把临时数组上的数据依次放入到最终的数组中
注:该内容为Java数据结构和算法读后学习感悟