【问题标题】:Time complexity of tree search with three children at each node每个节点有三个孩子的树搜索的时间复杂度
【发布时间】:2017-03-02 22:10:42
【问题描述】:

在二叉搜索树的情况下,查找元素的时间复杂度为O(logn),因为每次迭代一次,要搜索的元素减半。但是如果有一棵树,每个节点下最多有三个孩子,并且考虑我们有条件在三个分支中搜索下一个分支,那么时间复杂度是多少。在这种情况下,要搜索的元素每次减少 1/3。

【问题讨论】:

    标签: data-structures binary-search-tree


    【解决方案1】:

    阅读答案here,了解为什么二叉树的递归关系是

    T(n) = T(n/2) + O(1)

    如果树有3个节点或更多通常k个节点,相同的关系将是

    T(n) = T(n/k) + O(1)

    按照这个答案,你会知道对于任何 k-ary 树,二叉搜索将花费 O(logkn)

    【讨论】:

      【解决方案2】:

      我会说复杂性是 O(log3N),因为您有一些条件,要在三个分支中搜索下一个分支

      在最坏的情况下,每次迭代都会将剩余迭代次数减少 3 倍。

      【讨论】:

        猜你喜欢
        • 2018-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多