Co je to vyhledávací strom?
Vyhledávací strom je datová struktura používaná v počítačovém programování k obsahu a organizaci seznamu dat. Každý vyhledávací strom se skládá z uspořádané sady uzlů. Tyto uzly mohou být spojeny s nulovou nebo více jinými uzly. Jednotlivé uzly obsahují určité údaje a odkazy na jakékoli jiné uzly. Snadné.
Uzly vyhledávacího stromu jsou popsány se čtyřmi důležitými termíny. Horní část stromu, kde se nachází první uzel, se nazývá kořen. Pokud uzel obsahuje odkazy na dílčí nody, tento uzel je známý jako rodič. děti.
Program je schopen pohybovat se stromem hledajícím data tím, že spustí v konkrétním uzlu, provede podmíněnou kontrolu a poté se přesune do dalšího logického uzlu, pokud požadované údaje nejsou přítomny. V závislosti na použité datové struktuře může být toto vyhledávání trvat variabilní množství času. dlouhá doba.
Jedním faktorem, který ovlivňuje použití vyhledávacích stromů, je problém rovnováhy. Vyvážený strom je ten, ve kterém pravé i levé děti kořenového uzlu obsahují buď stejnou hloubku dětských uzlů, nebo jsou v rámci jednoho uzlu.R má všechny uzly uspořádané lineárním způsobem bez větví. Když se zvyšuje hloubka stromu, může se rychlost algoritmů vyhledávání dramaticky snížit.
Existují určité typy vyhledávacích stromů, které jsou popisovány jako samovyvážení. Tyto stromy používají operace, jako je rotace stromů, aby pomohla udržovat rovnováhu při zachování pořadí dat v listech. Přestože provádění otáčení stromů může při přidávání a odstraňování uzlů zpomalit program.
Ačkoli existuje mnoho typů vyhledávacích stromů, nejběžnější strukturou dat stromů je binární vyhledávací strom. Tento datový typ se skládá z uzlů, které mají každý nulu až dva dětské uzly. Existuje pouze jeden kořenový uzel a všechny listy ve stromu jsou uspořádány zleva doprava v pravém doprava, podle údajů, které drží.y snadné.
Neexistuje žádná standardní implementace pro uzly vyhledávacích stromů. Uzly mohou být reprezentovány širokou škálou datových struktur. Polí polí lze použít, jak by mohly znásobit propojené seznamy. Často vyhledávací strom používá vlastní datovou strukturu, která je navržena tak, aby pomohla při dokončení nezbytných operací požadovaných programem.