樹的路徑長度

2021-08-14 23:21:05 字數 658 閱讀 1079

樹的路徑長度是指「從樹根到每乙個節點的路徑長度的總和」,相同節點個數下,完全二叉樹就是這種路徑長度最短的二叉樹,注意這是對於二叉樹而言。

注意上述是說從樹根到每乙個節點的路徑長的總和,如下圖(來自這):

該樹的路徑長度為:(ab)+(ab)+(bd)+(ac)+(ac)+(ce)+(ac)+(cf)

然而事實上,如果單說路徑長度而不帶權,則權重都是相同的,所以上述式子不必寫的那麼麻煩。

那如果是帶權路徑長度該如何計算呢?

帶權路徑長度 =∑(節點的權*節點的深度)
以上圖為例,只對d節點進行說明,其他都一樣

d節點的帶權路徑長度為d的權*d的深度,假設深度從0開始算起,那麼a的深度為0,b的為1,d的為2。

那麼結果就為:d的權*2,而不是a的權+b的權+d的權

而該二叉樹的帶權路徑長度則是每乙個節點這樣加起來即可

//值得注意的地方就是要區別於哈夫曼樹的帶權路徑長度
「吟遊」程式人生——yinyoupoet

Huffman樹的帶權路徑長度

題目描述 給定n個權值 權值均是大於0的正整數 構造赫夫曼樹ht,並求出赫夫曼樹ht的帶權路徑長度。注意 構造赫夫曼樹ht時,在將2棵二叉樹合併成一棵新的二叉樹時,將根結點權值小的用作左子樹!輸入先輸入權值的個數n n 1 然後依次輸入n個權值 權值均是大於0的正整數 輸出輸出構造的赫夫曼樹ht的帶...

二叉樹的最長的路徑長度和最大路徑和

題目 給定乙個二叉樹,任意兩個節點之間必然是有一條路徑相通的,假定父節點和它的孩子節點的距離為單位1,求二叉樹中相距最遠的兩個節點間的路徑長度 分析 這是乙個簡單的動態規劃問題,假設某個節點node,到它的最低葉節點的長度為len node 所求的最長路徑必然經過乙個最高節點high node,則它...

筆試 面試 哈夫曼樹的帶權路徑長度

設一組權值集合 w 15 3 14 2 6 9 16 17 要求根據這些權值集合構造一棵哈夫曼樹,則這棵哈夫曼樹的帶權路徑長度為 計算方法 先對集合中的結點按照權值從小到大排序。選兩個權值最小的點將它們的權值相加構成乙個新結點,原來的這兩個最小的值是新結點的左右子結點。在有序集合中將兩個被加過的結點...