📅  最后修改于: 2021-01-12 03:31:20             🧑  作者: Mango
本质上,许多算法都是递归的,可以递归地处理子问题来解决给定的问题。
在分治法中,将一个问题分为较小的问题,然后独立解决较小的问题,最后将较小的问题的解决方案组合为较大的问题的解决方案。
通常,分治算法分为三个部分-
将问题分为多个子问题,这些子问题是同一问题的较小实例。
通过递归解决子问题来解决它们。如果它们足够小,则将子问题作为基本案例解决。
结合解决方案的子问题转化为原始问题的解决方案。
分治法支持并行性,因为子问题是独立的。因此,使用此技术设计的算法可以同时在多处理器系统或不同机器上运行。
在这种方法中,大多数算法都是使用递归设计的,因此内存管理非常高。对于递归函数堆栈,需要在其中存储函数状态。
以下是使用分而治之方法解决的一些问题。