所有分而治之的方法都不一定使用递归函数吗?
All divide and conquer approach use recursive functions or not necessarily?
是否所有使用分治法的算法都使用递归函数?
二分查找是 D&C 范式的一个应用。 (如下:分成两半,继续进入可能包含钥匙的那一半。)
既可以递归实现,也可以非递归实现。
当您需要保留拆分的两个 "halves" 并将它们排队以供以后处理时,递归很方便。一种常见的情况称为尾递归,当您只将其中的一半排队并立即处理另一半时。在二分查找中,你只需要放下其中的一半。
从广义上讲,D&C是所有算法之父"break the problem into easier subproblems of the same kind"。此定义还包含迭代解决方案,通常无需递归即可实现。
是否所有使用分治法的算法都使用递归函数?
二分查找是 D&C 范式的一个应用。 (如下:分成两半,继续进入可能包含钥匙的那一半。)
既可以递归实现,也可以非递归实现。
当您需要保留拆分的两个 "halves" 并将它们排队以供以后处理时,递归很方便。一种常见的情况称为尾递归,当您只将其中的一半排队并立即处理另一半时。在二分查找中,你只需要放下其中的一半。
从广义上讲,D&C是所有算法之父"break the problem into easier subproblems of the same kind"。此定义还包含迭代解决方案,通常无需递归即可实现。