【发布时间】:2015-02-25 20:57:21
【问题描述】:
我有一个关于数组上的合并排序如何工作的问题。 我理解“划分”步骤,它将输入数组划分为 1 长度的元素。但是,当谈到“合并”部分(组合步骤)时,我感到困惑。 例如,给定输入 3 5 1 8 2,除法过程将产生 5 个元素:3、5、1、8、2。我只知道合并函数会将它们合并为 3 5, 1 8, 2,但是它如何继续合并 3 5 和 1 8 ? “组合”部分是否涉及递归?
【问题讨论】:
-
请问,您指的是什么代码?
-
您要查找的递归在第 42 行。
-
不知道为什么投反对票和不屑一顾的 cmets。这是标准算法教科书(或编码面试)中经常以伪代码提出和回答的问题,从问题中可以清楚地看出他们在问什么(对于任何知道归并排序的人,CS 人员都会知道)。这不是写得最好的问题,但可以通过编辑来改进它,就是这样!
标签: algorithm sorting mergesort