【问题标题】:Complexity for recursive functions - Time and Space递归函数的复杂性 - 时间和空间
【发布时间】:2010-12-01 16:37:50
【问题描述】:

我很想知道如何计算递归函数的时间和空间复杂度,比如置换、斐波那契(描述 here

一般来说,我们可以在许多地方进行递归,而不仅仅是排列或递归,所以我正在寻找通常遵循的方法来计算 tmie ans 空间复杂度

谢谢

【问题讨论】:

    标签: algorithm complexity-theory


    【解决方案1】:
    【解决方案2】:

    时间复杂度和空间复杂度是表征算法性能的两件事。如今,由于空间相对便宜,人们最关心的是时间复杂度,而时间复杂度大多用递推关系来表示。

    考虑二分查找算法(Search for an element in an array):每次选择中间元素(mid)并与要查找的元素(x)进行比较。如果 (mid > x),则搜索下子数组,否则搜索上子数组。如果一个数组有n个元素,令T(n)代表算法的时间复杂度,那么 T(n) = T(n/2) + c,其中 c 是一个常数。在给定的边界条件下,我们可以求解 T(n),在这种情况下,它是 T(n) = log(n),其中 T(1) = 1。

    【讨论】:

    猜你喜欢
    • 2019-04-21
    • 2018-02-10
    • 2019-03-02
    • 2018-07-23
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 2018-05-29
    • 2018-08-18
    相关资源
    最近更新 更多