Skip to main content

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 lze připojit k nule nebo víceJiné uzly. Jednotlivé uzly obsahují některá data i odkazy na jakékoli jiné uzly. Data, která jsou obsažena v uzlech stromu, jsou velmi často objednána, aby umožnily efektivní algoritmy hledat,Snadno vložte a odstraňte uzly.Pokud uzel obsahuje odkazy na dílčí uzly, je tento uzel známý jako rodič. Uzly, které jsou pod rodičem, se nazývají děti a jakýkoli uzel, který nemá dětské uzly, jenazývá se list. Takže je identifikován kořenový uzel, protože nemá rodiče a listové uzly nebudou mít žádné děti.

Program je schopen pohybovat se stromem, který hledá data tím, že začíná v konkrétním uzlu, proveďte podmíněnou kontrolu a poté se přesune do dalšího logického uzlu, pokud nejsou přítomna požadovaná data. V závislosti na struktuře datPoužité, toto vyhledávání může trvat variabilní množství času. Pokud je strom vyhledávání uspořádán během procesu přidávání a odstraňování uzlů, může být vyhledávání velmi rychlé. Když je stromsestaveno náhodně, je netříděno nebo umožňuje více rodičů, vyhledávání může trvat velmi dlouho.ten, ve kterém pravé i levé děti kořenového uzlu obsahují stejnou hloubku dětských uzlů nebo jsou v počtu jeden uzlu. Hloubka stromu je počet uzlů znejnižší list stromu ke kořenu. Nevyvážený strom by mohl mít všechny uzly pouze na jedné straně nebo mít všechny uzlyuspořádáno lineárním způsobem bez větví. Když se zvyšuje hloubka stromu, může se rychlost vyhledávacích algoritmů dramaticky snížit.Tyto stromy používají operace, jako je rotace stromů, aby pomohla udržovat rovnováhu při zachování pořadí dat v listech. Ačkoli provádění rotací stromů může při přidávání a odstraňování uzlů zpomalit program.To je proti rychlosti, jakou lze získat údaje.do dvou dětských uzlů. Existuje pouze jeden kořenový uzel a všechny listy ve stromu jsou podle dat, které drží, objednány zleva doprava doprava. MnohoAlgoritmy existují pro binární vyhledávací stromy, které mohou velmi usnadnit uspořádání dat.

Neexistuje jediný standard iMplementace pro uzly vyhledávacího stromu. Uzly mohou být reprezentovány širokou škálou datových struktur. Lze použít pole polí, jak by se mohly vynásobit propojené seznamy. Často vyhledávací strom používá vlastníStruktura dat, která je navržena tak, aby pomohla při dokončení nezbytných operací požadovaných programem. Některé standardní programovací knihovny dokonce zahrnují své vlastní interní implementace vyhledávacích stromů.