美文网首页
递归算法复杂性分析-主定理法

递归算法复杂性分析-主定理法

作者: 普朗tong | 来源:发表于2020-04-21 14:30 被阅读0次
主定理

举例:
1)例1:二叉树的遍历。

       T(n)=2T (n/2)+Θ (1) 。

       其中(a=2), (b=2), (f(n)=1), (第一种情况)

       所以 (T(n)=Θ(n)) 。

2)
例1:归并排序。

       T(n)=2T(n/2 )+Θ(n)  。

       其中(a=2), (b=2), (f(n)=n),此时(k=0)。(第二种情况)

       所以T(n)=Θ(nlogn)

例2:二分搜索(折半搜索)。

       T(n)=T(n/2 )+Θ(1)  。

       其中(a=1), (b=2), (f(n)=1), 此时(k=0),(第二种情况)

       所以T(n)=Θ(log 2 n)。

3)

  设某个算法的复杂性的递推关系式为:T(n)=4T(n/2)+n^3
  很显然,满足主定理第三种情况,只需要取1/2≤c<1即可。T(n)=n^3

相关文章

  • 递归算法复杂性分析-主定理法

    举例:1)例1:二叉树的遍历。 2)例1:归并排序。 例2:二分搜索(折半搜索)。 3)

  • 矩阵链乘法

    递归算法: 迭代算法: 分析 递归算法:规模为n的问题,有n个递归,每个递归又有相应矩阵个数个递归,故T(n)=T...

  • 一、算法

    目标 递归算法查找算法算法分析十大排序算法 递归算法 什么是递归递归,在数学与计算机科学中,是指在函数的定义中使用...

  • 高级算法设计与分析

    目录 算法基础 算法复杂性 递归与分治 回溯法与分支限界法 贪心算法 动态规划法 NP问题 概率算法 现代优化算法...

  • 递归算法设计

    递归是程序设计中一个很重要的课题。用递归技术设计的算法简单明了。递归算法的设计与分析是算法设计与分析的一大类。 首...

  • 递归树——借助树来求解递归算法的时间复杂度

    递归代码的时间复杂度分析起来非常麻烦,今天我们尝试来借助递归树分析递归算法的时间复杂度。 1. 递归树与时间复杂度...

  • 快速幂模板

    递归算法 非递归算法

  • python递归算法、尾递归算法及优化

    文章概述 递归算法和尾递归概述递归算法的优化 递归算法 介绍:递归算法是计算机编程领域非常重要的一种算法,采用分而...

  • C++ 递归算法

    递归算法,尾递归算法求阶乘!

  • Java递归算法详解

    递归算法是一种直接或者间接调用自身函数或者方法的算法。Java递归算法是基于Java语言实现的递归算法。递归算法的...

网友评论

      本文标题:递归算法复杂性分析-主定理法

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