【问题标题】:Finding maximum depth of a Binary Serach Tree (BST)查找二叉搜索树 (BST) 的最大深度
【发布时间】:2015-11-09 00:57:03
【问题描述】:

给定一个二叉搜索树 (BST)。迭代查找二叉搜索树的最大深度。

我知道使用队列 [level order traversal] 的方法,但时间复杂度是 O(N),因为我们需要访问整个树。 但它不使用树是 BST 还是二叉树的信息。

BST 的算法是否保持不变,或者可以使用给定树是 BST 的事实对其进行改进?

【问题讨论】:

    标签: algorithm data-structures language-agnostic binary-search-tree


    【解决方案1】:

    我不认为一棵树是 BST 或没有改变它的事实,在最坏的情况下你仍然必须访问所有节点,这使得它成为 O(N)。我猜在最好的情况下你只需要做 O(log(N)),但这是最好的情况,你只需沿着树的深度向下走,并且不访问其他节点。

    【讨论】:

    • “在最好的情况下你只需要做 O(log(N))”是什么意思?这是否意味着树是自平衡的?
    • 是的,当你只需要沿着树向下走,而不需要从左到右访问任何级别的任何节点时,你就会有 O(log(N))。
    猜你喜欢
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-21
    • 2017-08-07
    相关资源
    最近更新 更多