美文网首页学习笔记
算法导论第2.3章 - 分治算法

算法导论第2.3章 - 分治算法

作者: 彩虹小星星 | 来源:发表于2021-09-10 22:54 被阅读0次

    分治算法

    递归:算法一次或多次递归地调用其自身已解决紧密相关的若干子问题。这些算法遵循分治法的思想。

    分治算法三个步骤:

    分解:原问题拆分成若干个子问题,这些子问题是原问题的规模较小的实例

    解决:递归地求解各个子问题。若子问题的规模足够小,则直接求解。

    合并:这些子问题的解成为原问题的解

    分析分治算法

    使用递归方程来描述运行时间,T(n)是规模为n的一个问题的运行时间。c代表足够小的规模,可以直接解决问题。

    将原问题拆分为a个子问题,每个子问题解决原问题的1/b,

    D(n)为分解问题成子问题需要的时间,C(n)为合并子问题的解为原问题解需要的时间。

    若n<=c, T(n) = Θ(1)

    其他情况,T(n) = aT(n/b) + D(n) + C(n)

    相关文章

      网友评论

        本文标题:算法导论第2.3章 - 分治算法

        本文链接:https://www.haomeiwen.com/subject/ggznwltx.html