以這個python代碼為例
def count_nodes(node: Node):
if(node is None):
return 0
return 1 count_nodes(node.left) count_nodes(node.right)
在葉子上,遞回將指向左和右并回傳 0
Soo 在一個非常大的二叉樹中,時間復雜度將是:
o(n) 葉子數 * 2
這是正確的嗎?或者我誤解了時間復雜度的概念
uj5u.com熱心網友回復:
在這個例子中,你附加你只遍歷那些有效(或存在)的n節點,所以在這種情況下,如果你有節點,你只遍歷n節點。
寫起來沒有錯:o(n) the number of leafs * 2但最終它會變成:o(n)就 Big-O 而言。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/356405.html
