排序算法-归并

2022-01-21  本文已影响0人  大空翼123

归并排序采用经典的分治策略,利用归并的思想实现的排序方法。把一个待排序的数组无限拆分,直到子数组只有一个元素,然后开始按顺序再进行合并。想象一下若一副扑克牌乱序混在一起,如何从小到大排序?

把牌堆分层两份,分给两个小伙伴进行从小到大排序。

两位小伙伴排序完成,给到有序牌堆A和有序牌堆B。

每次抽取两个牌堆最顶端一张进行比较,较小的合入到整体有序的牌堆C中。

那么两个小伙伴是如何把分到的扑克牌给排序完成的呢?

把牌堆分层两份,分给两个小伙伴进行从小到大排序。

两位小伙伴排序完成,给到有序牌堆A和有序牌堆B。

每次抽取两个牌堆最顶端一张进行比较,较小的合入到整体有序的牌堆C中。

那么两个小伙伴是如何把分到的扑克牌给排序完成的呢?

重复步骤1-3 ···

当某次分牌时,某两位小伙伴各自仅分到了一张牌,那就不能再继续分了,他俩把分到的牌按照大小顺序交上去,这样就有了有序的牌堆(2张牌),然后2张合4张,4张合8张···,到最后整副扑克牌都是有序的。

这就是归并的思想

上一篇 下一篇

猜你喜欢

热点阅读