Binární strom a binární vyhledávací strom

Anonim

Co je to binární strom?

Binární strom je hierarchická datová struktura, v níž každý uzel má nulu, jednu nebo maximálně dvě děti. Každý uzel obsahuje "levé" ukazatel, "pravý" ukazatel a datový prvek. Kořenový ukazatel představuje nejvyšší uzel 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 zvláštní uspořádání, jak mají být uzly uspořádány v binárním stromu. Uzly bez uzlů dětí se nazývají uzly listů nebo externí uzly.

Jednoduše řečeno definuje organizovanou značkovací funkci na uzlech, která naopak přiděluje nějakému náhodnému hodnotám každému uzlu. Cokoliv, co má dvě děti a jeden nadřazený uzel, je binární strom. Binární stromy se používají k ukládání informací, které tvoří hierarchii, jako je souborový systém na vašem osobním počítači. Na rozdíl od polí, stromy nemají horní hranici počtu uzlů, protože jsou propojeny pomocí ukazatelů, jako jsou propojené seznamy. Hlavní funkce Binárního stromu zahrnují hierarchická data, seřazení datových seznamů, poskytování efektivních operací vložení / odstraňování atd. Stromové uzly jsou reprezentovány pomocí struktur v C.

Co je Binární vyhledávací strom?

Binární vyhledávací strom je typ datové struktury binárního stromu, ve kterém jsou uzly uspořádány v pořádku, a proto se nazývají také jako "objednaný binární strom". Jedná se o datovou strukturu založenou na uzlech, která poskytuje efektivní a rychlý způsob třídění, vyhledávání, vyhledávání dat. Pro každý uzel musí být prvky v levém podstromu menší než nebo stejné jako klíč v jeho nadřazeném uzlu (LP). Neexistují žádné duplicitní klíče. Jednoduše řečeno, jde o speciální druh datové struktury binárního stromu, 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 lze je použít k implementaci vyhledávacích tabulek, které umožňují vyhledávat položky podle svých jedinečných klíčů, například vyhledávání telefonního čísla osoby podle jména. Jedinečné klíče jsou uspořádány organizovaně, takže vyhledávací a další dynamické operace mohou být prováděny pomocí binárního vyhledávání. Podporuje tři hlavní operace: vyhledávání prvků, vkládání prvků a vymazání prvků. Binární vyhledávací strom umožňuje rychlé vyhledání prvků uložených ve stromu, jelikož je každý klíč uzlu důkladně porovnán s kořenovým uzlem, který vyřadí polovinu stromu.

Rozdíl mezi stromem binárního stromu a binárním vyhledávacím stromem

  1. Definice stromu binárního stromu a binárního vyhledávání - Binární strom je hierarchická struktura dat, ve které může dítě mít nulový, jeden nebo maximálně dva podřízené uzly; každý uzel obsahuje levý ukazatel, pravý ukazatel a datový prvek. Neexistuje žádný zvláštní příkaz k tomu, jak by měly být uzly uspořádány ve stromu. Binární vyhledávací strom je na druhou stranu uspořádaný binární strom, ve kterém existuje relativní pořadí uspořádání uzlů.
  2. Struktura z Binární strom a binární vyhledávací strom- Nejvyšší uzel ve stromu představuje kořenový ukazatel v binárním stromu a levé a pravé ukazatele reprezentují menší stromy na obou stranách. Je to specializovaná forma stromu, která reprezentuje data ve stromové struktuře. Binární vyhledávací strom je na druhé straně typ binárního stromu, ve kterém jsou všechny uzly v levém podstromu menší nebo rovny hodnotě kořenového uzlu a uzlu správného podstromu jsou větší nebo rovny hodnotě kořenového uzlu.
  3. Úkon z Binární strom a binární vyhledávací strom- Binární strom může být něco, co má dvě děti a jednoho rodiče. Společné operace, které lze provést na binárním stromu, jsou vkládání, smazání a traverzování. Binární vyhledávací stromy jsou spíše tříděnými binárními stromy, které umožňují rychlé a efektivní vyhledávání, vkládání a odstraňování položek. Na rozdíl od binárních stromů udržují binární vyhledávací stromy tříděné klíče, takže vyhledávání obvykle provádí binární vyhledávání operací.
  4. Typy z Binární strom a binární vyhledávací strom- Existují různé typy binárních stromů, společné jsou "Plná binární strom", "Kompletní binární strom", "Dokonalý binární strom" a "Rozšířený binární strom". Některé běžné typy binárních vyhledávacích stromů zahrnují T-stromy, AVL stromy, Splay stromy, Tango stromy, červené-černé stromy apod.

Binární strom vs. binární vyhledávací strom: srovnávací graf

Binární strom Binární strom hledání
Binární strom je specializovaná forma stromu, která reprezentuje hierarchická data ve stromové struktuře. Binární vyhledávací strom je typ binárního stromu, který uchovává 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 připojen přesně od jednoho dalšího uzlu řízenou hranou. Hodnota uzlů v levém podstromu je menší nebo rovna hodnotě kořenového uzlu a uzly v pravém podstromu mají hodnoty větší nebo rovné hodnotě kořenového uzlu.
Neexistuje relativní pořadí, jak by měly být uzly uspořádány. Následuje definice pořadí uspořádání uzlů ve stromu.
Je to v podstatě hierarchická struktura dat, která je sbírkou prvků nazývaný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ů.

Shrnutí stromu binárního stromu a binárního vyhledávání

Zatímco oba simulují hierarchickou stromovou strukturu představující kolekci uzlů s každým uzlem reprezentujícím hodnotu, jsou od sebe navzájem zcela odlišné, pokud jde o způsob, jakým mohou být implementovány a využívány. 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 varianta binárního stromu, který následuje relativní pořadí toho, jak by měly být uzly uspořádány ve stromu.