有人能用英语解释排序算法的非递归和递归实现是如何相互不同的?
答案 0 :(得分:6)
它们的区别在于什么?请记住:任何递归算法都可以作为迭代算法实现,反之亦然(请看一下这个post)。迭代或递归 - 它只是一个实现细节;虽然根据选择它会对性能产生重大影响,但算法仍然是相同的。
答案 1 :(得分:2)
递归排序算法的工作原理是将输入分成两个或多个较小的输入,然后对它们进行排序,然后组合结果。 Merge sort和quick sort是递归排序算法的示例。
非递归技术是任何不使用递归的技术。 Insertion sort是非递归排序算法的一个简单示例。
答案 2 :(得分:0)
递归排序算法调用自身对数组的较小部分进行排序,然后组合部分排序的结果。快速排序就是一个例子。
非递归算法一次完成排序,而不调用自身。冒泡排序是非递归算法的一个例子。