我正在阅读归并排序算法。我有一个问题
假设我们有一个列表
列表 = 5 4 1 3 6 8 9 7
首先将list分成4 -4个元素。我们称左右边列表
5 4 1 3 and 6 8 9 7
然后将5 4 1 3分成如下
5 4 and 1 3
然后把5和4分成
5 4
排序时,我们将从最后一步开始排序,直到第 1 步(我们有 4-4 个元素)
问题:无论如何,当我们将列表划分为 1-1 个元素并且我们随时对列表进行排序和合并时,为什么不将列表划分为仅 4-4 个元素。因为在这种情况下,我们也会对列表进行合并。为什么要迭代到1-1个元素
最佳答案
1 元素列表自然排序。 我们合并两个 1 元素排序列表得到 2 元素排序列表,然后合并 2 元素排序列表得到 4 元素排序列表等等。
合并过程适用于排序列表,因此我们不能将合并应用于未排序的 5 4 1 3
和 6 8 9 7
列表
关于algorithm - 为什么我们在合并排序中将数组划分为一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37543531/