【问题标题】:Time Complexity of BSTBST的时间复杂度
【发布时间】:2015-05-08 05:25:00
【问题描述】:

所以我知道,由于结构减半,BST 上的操作在日志时间内进行,我想知道如果您搜索一个不在结构中的值,时间复杂度会是多少。

【问题讨论】:

    标签: performance data-structures time-complexity binary-search-tree


    【解决方案1】:

    平均情况时间复杂度为 O(log n),最坏情况为 O(n)。要了解 O(log n) 复杂度,您可以参考 What does O(log n) mean exactly?

    这张图片将向您解释部分:

    我也建议通过wiki了解详情。

    【讨论】:

      【解决方案2】:

      它仍然是 O(log n)。这样想,它会不断减半搜索,直到找不到。

      【讨论】:

      • 感谢回复,但是如何知道该值是大于还是小于根才能知道从哪一侧开始查找?我的印象是它会先做一侧,然后再做另一侧,然后意识到它不存在
      • 您说的是 BST。 BST 将按以下方式排列leftChild < root < rightChild 现在,如果您考虑一下,您的元素将首先将自己与树的根进行比较,然后决定是使用 leftChild 还是 rightChild
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多