/ / Implementovať PriorityQueue pomocou BinarySearchTree: C ++ - c ++, dátové štruktúry, binárny vyhľadávací strom, prioritný front

Implementujte PriorityQueue pomocou BinarySearchTree: C ++ - c ++, dátové štruktúry, binárne-vyhľadávacie stromy, front-priority

Musím urobiť projekt: Prioritný front je zobrazený v binárnom vyhľadávacom strome. Je to pre moju triedu algoritmov. Nie som si presne istý, ako by ste použili binárny vyhľadávací strom ako prioritný front. Všetky príklady, ktoré som našiel na internete, boli o hromadách a že "nikdy by ste nemali implementovať prioritný front v bst, ale len v halde". Mohol by mi niekto vysvetliť, čo mám robiť presne? Vďaka!

odpovede:

0 pre odpoveď č. 1

Ako rada, prioritný front potrebuje efektívnepodpora vkladania prvkov, čítanie najmenšej hodnoty (alebo najväčšej, vo fronte max. priority) a odstránenie najmenšej hodnoty. BST už podporuje rýchle vkladanie a vymazávanie. Takže, ak ste mali všetky prvky vo vašom prioritnom fronte uložené v BST, ako by ste našli najmenšiu hodnotu? Pozrite sa, či môžete použiť skutočnosť, že BST ukladá svoje prvky do triedeného poradia, aby našiel veľmi rýchly algoritmus na nájdenie najmenšej hodnoty.