A Struktura dat binárního stromu je hierarchická datová struktura, ve které má každý uzel nejvýše dva potomky, označované jako levé dítě a pravé dítě. Běžně se používá v informatice pro efektivní ukládání a načítání dat s různými operacemi, jako je vkládání, mazání a procházení.
Úvod:
- Vlastnosti binárního stromu
- Typy binárních stromů
- Aplikace, výhody a nevýhody binárního stromu
- Binární strom (implementace pole)
- Kompletní binární strom
- Perfektní binární strom
Základní operace s binárním stromem:
- Procházení stromů (Inorder, Preorder a Postorder)
- Procházení stromu objednávky úrovně
- Najděte maximální hloubku nebo výšku daného binárního stromu
- Vložení do binárního stromu
- Odstranění v binárním stromu
- Výčet binárních stromů
Některé další důležité průchody binárních stromů:
- Průběh řádu ve spirále
- Reverzní procházení pořadí úrovní
- BFS vs DFS pro binární strom
- Procházení stromu v řádu bez rekurze
- Morris traversal pro předobjednávku
- Iterativní předobjednávka Traversal
- Iterativní Postorder Traversal pomocí dvou stohů
- Diagonální průchod binárního stromu
- Boundary Traversal binárního stromu
Snadné problémy s datovou strukturou binárního stromu:
- Vypočítejte hloubku celého binárního stromu z Předobjednávky
- Sestavte strom z průchodů pořadím Inorder a Level
- Zkontrolujte, zda je daný binární strom SumTree
- Zkontrolujte, zda jsou dva uzly bratranci v binárním stromu
- Zkontrolujte, zda odstranění okraje může rozdělit binární strom na dvě poloviny
- Zkontrolujte, zda je daný binární strom dokonalý nebo ne
- Zkontrolujte, zda binární strom obsahuje duplicitní podstromy velikosti 2 nebo více
- Zkontrolujte, zda jsou dva stromy Mirror
- Skládací binární stromy
- Symetrický strom (zrcadlový obraz sebe sama)
- Napište kód, který určí, zda jsou dva stromy totožné
- Podstrom s daným součtem v binárním stromu
- Stručné kódování binárního stromu
- Napište program pro výpočet velikosti stromu
- Průměr binárního stromu
- Získejte úroveň uzlu v binárním stromu
Střední problémy s datovou strukturou binárního stromu:
- Najděte všechny možné binární stromy s daným Inorder Traversal
- Naplnit nástupce Inorder pro všechny uzly
- Sestavte kompletní binární strom z jeho reprezentace propojeného seznamu
- Minimální swap potřebný k převodu binárního stromu na binární vyhledávací strom
- Převést daný binární strom na dvojitě propojený seznam | Sada 1
- Převeďte strom na les sudých uzlů
- Převrátit binární strom
- Tiskněte cesty od kořenů k listům bez použití rekurze
- Zkontrolujte, zda dané průchody Preorder, Inorder a Postorder jsou ze stejného stromu
- Zkontrolujte, zda je daný binární strom úplný nebo ne | Sada 1 (opakované řešení)
- Zkontrolujte, zda je binární strom podstrom jiného binárního stromu | Sada 2
- Najděte největší součet podstromu ve stromu
- Maximální součet uzlů v binárním stromu takový, že žádné dva nesousedí
- Nejnižší společný předek v binárním stromu | Sada 1
- Výška generického stromu z nadřazeného pole
- Najděte vzdálenost mezi dvěma danými klíči binárního stromu
Velké problémy s datovou strukturou binárního stromu:
- Upravte binární strom, abyste získali průchod Předobjednávkou pouze pomocí pravých ukazatelů
- Vytvořte úplný binární strom pomocí jeho předobjednávkového průchodu a předobjednávkového průchodu jeho zrcadlového stromu
- Sestavte speciální strom z daného průchodu předobjednávkou
- Sestavte strom z matice předků
- Sestavte celý strom k-ary z jeho předobjednávkového průchodu
- Sestavte binární strom z řetězce s reprezentací závorek
- Převeďte binární strom na dvojitě propojený seznam ve spirále
- Převeďte binární strom na kruhový seznam dvojitých odkazů
- Převeďte ternární výraz na binární strom
- Zkontrolujte, zda existuje cesta od kořene k listu s danou sekvencí
- Odstraňte všechny uzly, které neleží v žádné cestě se součtem>= k
- Maximální spirálový součet v binárním stromu
- Součet uzlů na k-té úrovni ve stromu reprezentovaném jako řetězec
- Součet všech čísel, která jsou vytvořena od kořenové cesty k listové cestě
- Sloučit dva binární stromy provedením součtu uzlů (rekurzivní a iterativní)
- Najděte kořen stromu, kde je uveden součet ID dětí pro každý uzel
Rychlé odkazy :
Doporučeno:
- Naučte se datovou strukturu a algoritmy | Výukový program DSA