【问题标题】:I'm trying to figure out the Big O Time Complexity of this equation我试图找出这个方程的大 O 时间复杂度
【发布时间】:2022-01-01 12:00:27
【问题描述】:

代码引用了一个基本的树数据结构(节点)。

public int countLeaf2(Node <T> tree) {
    if (tree.children.isEmpty() != true) {
        for (int i=0; i<tree.children.size(); i++) {
            countLeaf2(tree.children.get(i));
        }
    }
    if (tree.children.size() == 2) {
        count++;
    }
    return count;
}

【问题讨论】:

    标签: java big-o


    【解决方案1】:

    备注

    • 有问题的代码似乎没有做它应该做的事情(即计算树节点中的总节点),而是只计算第一个非空子节点。
    • 该方法也不会编译,因为局部变量 count 没有在方法内的任何地方声明。
    • 以下案例假定上述问题已解决。

    案例


    父节点只包含空子节点
    在这种情况下,最坏情况的复杂度是O(n)


    每个子节点最多只能包含其父节点的 1 的大小
    在这种情况下,最坏情况的复杂度是O(n!)


    没有限制
    在这种情况下,最坏情况的复杂度为undefined。因为结构可以包含无限数量的元素。


    如果有任何错误、问题或疑问。欢迎提问!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-11
      • 1970-01-01
      • 2018-07-08
      • 2014-05-29
      相关资源
      最近更新 更多