.首先確定是否需加虛權值(即權值為)對m個權值建k叉樹若(m)%(k)=則不需要加虛權值否則第一次歸並時需(m)%(k)+個權值歸並建立k叉樹的過程如下
()將m個權值看作m棵只有根結點的k叉樹的集合F={TT…Tm}
()從F中選k(若需加虛權值則第一次選(m)%(k)+)個權值最小的樹作子樹構成一棵k叉樹k叉樹根結點的權值為所選的k個樹根結點權值之和在F中刪除這k棵子樹並將新k叉樹加入到F中
()從F中選k個權值最小的樹作子樹構成一棵k叉樹其根結點權值等於所選的k棵樹根結點權值之和在F中刪除這k棵樹並將新得到的樹加到F中
() 重復()直到F中只有一棵樹為止這就是最優的k叉樹對本題個權值構造最優三叉樹因()%()=所以第一次用個權值合並
最小加權路徑長度
(+)*+(+)*+(++++)*+*=
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []
From:http://tw.wingwit.com/Article/program/sjjg/201311/22637.html