4

有人可以用英语解释排序算法的非递归和递归实现有何不同吗?

4

3 回答 3

6

它们有何不同,在什么意义上?请记住:任何递归算法都可以实现为迭代算法,反之亦然(看看这篇文章)。迭代或递归——它只是一个实现细节;尽管它可能会对性能产生重大影响,具体取决于选择,但算法将是相同的。

于 2012-08-19T23:01:05.410 回答
2

递归排序算法的工作原理是将输入拆分为两个或多个较小的输入,然后对它们进行排序,然后组合结果。合并排序快速排序是递归排序算法的示例。

非递归技术是任何不使用递归的技术。插入排序是非递归排序算法的一个简单示例。

于 2012-08-19T22:56:27.980 回答
0

递归排序算法调用自身对数组的较小部分进行排序,然后组合部分排序的结果。快速排序就是一个例子。

非递归算法一次完成所有排序,而不调用自身。冒泡排序是非递归算法的一个例子。

于 2012-08-19T22:56:38.400 回答