簡體   English   中英

二叉搜索樹插入方法的時間復雜度

[英]Time Complexity of a Binary Search Tree Insert method

美好的一天!

我對二進制搜索樹插入方法的時間復雜度有疑問。 我讀了一些與此有關的答案,但有些彼此不同。 二叉搜索樹插入方法的時間復雜度是否為平均情況下的O(log n)和最壞情況下的O(n)? 還是一般情況下為O(n log n),最壞情況下為O(n ^ 2)? 一般情況下什么時候變為O(n log n),最壞情況下什么時候變為O(n ^ 2)?

在平均情況下,一次插入操作的O(log n)為O(log n),因為它包含一個測試(恆定時間)和一個遞歸調用(具有要訪問的樹中節點總數的一半),從而使問題的常數變小了時間。 因此,對於n次插入操作,平均大小寫為O(nlogn)。 關鍵是操作需要的時間與樹的高度成正比。 平均而言,1次插入操作為O(logn),但在最壞的情況下,高度為O(n)。如果要執行n次操作,則avg為O(nlgn),最差的是O(n ^ 2)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM