合并排序如何在长度为N的数组上工作?

问题描述 投票:0回答:1

我打过书,遇到了我无法解决的问题。我一直在寻找信息。我全神贯注地试图理解它。

因此,我得到了一个长度为N(int)的数组,以使用非递归合并排序算法对其进行排序。我学习了长度为2 ^ n的数组的合并排序算法。但是我完全不明白它如何用于长度为N的数组。

有人可以解释一下它的工作原理吗?

我打过书,遇到了我无法解决的问题。我一直在寻找信息。我无法理解我的想法。所以,我给了一个长度为N(int)的数组来排序...

arrays algorithm sorting mergesort non-recursive
1个回答
0
投票

非递归合并排序将N个元素的数组视为N个大小为1的排序运行,然后将偶数和奇数运行从一个数组合并到另一个数组。如果运行次数奇数,则仅复制最后一个(没有合并内容)。完成合并过程后,运行大小将增加一倍至2,并重复合并过程。当运行大小加倍并且为> =数组大小时,合并排序完成。

© www.soinside.com 2019 - 2024. All rights reserved.