Binární strom je hierarchická datová struktura, ve které má každý uzel nulu, jedno nebo maximálně dvě děti. Každý uzel obsahuje ukazatel „vlevo“, ukazatel „vpravo“ a datový prvek. Ukazatel „root“ představuje nejvyšší vrchol ve stromu. Každý uzel v datové struktuře je přímo spojen s libovolným počtem uzlů na obou stranách, označovaných jako děti. Nulový ukazatel představuje binární strom. Neexistuje žádné zvláštní pořadí, jak mají být uzly uspořádány v binárním stromu. Uzly bez podřízených uzlů se nazývají listové uzly nebo externí uzly.
Zjednodušeně to definuje organizovanou funkci značení na uzlech, které zase každému uzlu přiřazují nějakou náhodnou hodnotu. Všechno, co má dvě děti a jeden rodičovský uzel, je binární strom. Binární stromy se používají k ukládání informací, které tvoří hierarchii, jako je systém souborů ve vašem osobním počítači. Na rozdíl od polí nemají stromy žádný horní limit počtu uzlů, protože jsou propojeny pomocí ukazatelů, například Propojené seznamy. Mezi hlavní funkce binárního stromu patří reprezentace hierarchických dat, třídění seznamů dat, poskytování efektivních operací vložení / odstranění atd. Uzly stromů jsou reprezentovány pomocí struktur v C.
Binární vyhledávací strom je typ datové struktury binárních stromů, ve které jsou uzly uspořádány v pořadí, proto se také nazývají „uspořádaný binární strom“. Je to datová struktura založená na uzlech, která poskytuje efektivní a rychlý způsob třídění, získávání a vyhledávání dat. Pro každý uzel musí být prvky v levém podstromu menší nebo rovno klíči v jeho nadřazeném uzlu (LP). Neměly by existovat žádné duplicitní klíče. Jednoduše řečeno, jedná se o speciální druh datové struktury binárních stromů, který efektivně ukládá a spravuje položky v paměti.
Umožňuje rychlý přístup k informacím, vkládání a odebírání dat a může být také použit k implementaci vyhledávacích tabulek, které umožňují vyhledávání položek podle jejich jedinečných klíčů, jako je hledání telefonního čísla osoby podle jména. Unikátní klíče jsou uspořádány uspořádaným způsobem, takže vyhledávání a další dynamické operace lze provádět pomocí binárního vyhledávání. Podporuje tři hlavní operace: vyhledávání prvků, vkládání prvků a mazání prvků. Binární vyhledávací strom umožňuje rychlé vyhledání prvků uložených ve stromu, protože každý klíč uzlu je důkladně porovnán s kořenovým uzlem, který zahodí polovinu stromu.
Binární strom | Binární vyhledávací strom |
Binární strom je specializovaná forma stromu, která představuje hierarchická data ve stromové struktuře. | Binární vyhledávací strom je typ binárního stromu, který udržuje klíče v seřazeném pořadí pro rychlé vyhledávání. |
Každý uzel musí mít nejvýše dva podřízené uzly, přičemž každý uzel je spojen z přesně jednoho dalšího uzlu přímou hranou. | Hodnota uzlů v levém podstromu je menší nebo rovna hodnotě kořenového uzlu a uzly na pravém podstromu mají hodnoty větší nebo rovno hodnotě kořenového uzlu. |
Neexistuje relativní pořadí, jak by měly být uzly uspořádány. | Následuje definitivní pořadí, jak by měly být uzly uspořádány ve stromu. |
Jde v podstatě o hierarchickou datovou strukturu, která je souborem prvků zvaných uzly. | Je to varianta binárního stromu, ve kterém jsou uzly uspořádány v relativním pořadí. |
Používá se pro rychlé a efektivní vyhledávání dat a informací ve stromové struktuře. | Používá se hlavně pro vkládání, mazání a vyhledávání prvků. |
Zatímco oba simulují hierarchickou stromovou strukturu představující kolekci uzlů, přičemž každý uzel představuje hodnotu, jsou navzájem zcela odlišné, pokud jde o to, jak mohou být implementovány a využity. Binární strom se řídí jedním jednoduchým pravidlem, že každý nadřazený uzel nemá více než dva podřízené uzly, zatímco binární vyhledávací strom je pouze variantou binárního stromu, která sleduje relativní pořadí, jak by měly být uzly uspořádány ve stromu..