當前位置:維知科普網 >

科普

> 哈夫曼樹左右子樹的大小有規定嗎

哈夫曼樹左右子樹的大小有規定嗎

哈夫曼樹編碼裏面的父節點的兩個子結點是沒有順序要求的,所以s1既可以是左子結點,也可以是右子結點,當然你也可以自己定一個標準來做,但是沒有特別的要求的,因為就算不一樣,只要在同一層,整棵樹的總權值仍然是最小的。

哈夫曼樹左右子樹的大小有規定嗎

數據結構書中的建立赫夫曼樹求赫夫曼編碼的算法中的Select()函數是用於選擇沒有雙親且權值最小的兩個結點,其序號分別為s1和s2。按照給定權值的順序查找,s1不一定比s2要小或者相等。s1是賦給左子樹,s2賦給右子樹。例如:第一次選擇,按照5,29,7,8,14,23,3,11的順序,顯然s1=5,s2=3;

哈夫曼樹左右子樹的大小有規定嗎 第2張

第二次選擇,按照29,7,8,14,23,11,8(5是左子樹,3是右子樹形成的二叉樹根結點權值)的順序,顯然s1=7,s2=8;第三次選擇,按照29,14,23,11,8(5是左子樹,3是右子樹形成的),15(7是左子樹,8是右子樹形成的二叉樹根結點權值)的順序,顯然s1=11,s2=8;同理,最終得到的就是書上的那個圖。

標籤: 哈夫曼 子樹
  • 文章版權屬於文章作者所有,轉載請註明 https://wzkpw.com/kp/dx8l69.html