簡體   English   中英

具有不同頻率的有序集上的靜態二叉搜索樹

[英]Static binary search tree over ordered set with different frequency

設A = {a1,a2,。。 ,an}是一組完全有序排列的獨特項,使得ai <aj iff i <j。 假設經過長時間的m次訪問A中的項,ai被q(i)≥1次訪問。 我想要一種算法來查找二進制搜索樹T,其中每個項目ai都駐留在T的葉子中,這樣,如果我們使用T為訪問提供服務,則每次從根到相應的葉子都需要花費總時間整個序列被最小化。 該算法確實必須構造一個最小化總訪問時間的樹。

我認為頻率的最大堆是一種使用的選擇,但我不確定這是最好的。

我對這個問題的解決方案是:首先對數組A進行降序排序,然后從排序后的數組(以A [0]為根,left [i] = 2 * i,right [i] = 2 *( i + 1))。

我的解決方案最佳嗎?

我特意地說,這個問題等同於構造霍夫曼樹

更新

不,不是,因為霍夫曼樹沒有考慮和保留順序。 但這似乎至少是相關的。

暫無
暫無

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

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