2013-03-23 110 views
4

我想知道二叉搜索樹的一些複雜性。二叉樹複雜度

我找不到完整的信息。我想知道在二叉搜索樹

  1. ,增加了對以下操作的複雜性/插入元素
  2. 刪除元素
  3. 找到一個元素(因爲我知道這個人是O(log(n))
+0

這取決於你的算法,它與數據結構沒有太大關係。 – m4573r 2013-03-23 12:36:17

+0

二叉樹一般?還是二進制搜索樹?還是一些特定的自我平衡BST? – delnan 2013-03-23 12:36:31

+0

Wiki中有關[Binary Trees](http://en.wikipedia.org/wiki/Binary_tree)的一切。 – deepmax 2013-03-23 12:37:10

回答

10

插入,刪除,並在二叉搜索樹搜索是:

  • O(N)在最壞的情況下;
  • O(log(N))在一般情況下。
7

如果你有平衡二叉樹,所有三個複雜性將是O(log(N))。如果你不平衡樹,它可能是O(N)

0

搜索有效。但是,不平衡的結構(通常是這種情況)會導致O(N)用於搜索/插入/刪除操作。這就是爲什麼二進制堆或其他類型的平衡樹優先於O(log n)。 。