簡體   English   中英

從線性時間中兩個大小均為N的二進制堆中構造大小為2N的二進制堆?

[英]Construct a binary heap of size 2N from two binary heaps each of size N in linear time?

從頭開始構建大小為N的二進制堆需要NlogN進行平均比較,從而得出線性運算時間。

假設已經有兩個大小為N的二進制堆,如何在線性時間內構造一個包含所有2N個密鑰的單個二進制堆(使用比較的線性數)?

從頭開始構建大小為N的二進制堆需要NlogN進行平均比較,從而得出線性運算時間。

如果您的意思是“從大小為N的數組構造大小為N的二進制堆”,那么這不一定是正確的。 您可以在線性時間內完成。 請參閱此處 構建堆

因此,對於您的問題,如果您在兩個數組中有兩個堆,則將數組連接起來並在結果數組上運行相同的算法將是線性的。

暫無
暫無

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

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