Binárny vyhľadávací strom je dátová štruktúra založená na binárnom strome, v ktorom sú jednotlivé prvky (uzly, vrcholy) usporiadané tak, aby v tomto strome bolo možné rýchlo vyhľadávať danú hodnotu.

Vyhľadávanie v strome Hodnoty v uzloch sú usporiadané tak, že pre každý uzol stromu u platí: hodnota uložená v u je väčšia alebo rovná ako hodnota uložená v ľavom podstrome u hodnota uložená v u je menšia alebo rovná ako hodnota uložená v pravom podstrome u

Potom je možné v tomto strome jednoduchým spôsobom vyhľadať danú hodnotu h: nastav koreň ako aktuálny uzol (u) pokiaľ je v u uložená hodnota h, algoritmus končí (a vráti u) ak je u list, algoritmus končí (hodnota h nebola v strome nájdená) hodnota h sa porovná s hodnotou v u (nech je táto hodnota h''') ak je , do u sa uloží ľavý potomok u inak sa do u uloží pravý potomok u pokračuj bodom 2

Rýchlosť vyhľadávania Rýchlosť vyhľadávania závisí od toho, ako je strom vyvážený. Pre vyhľadanie danej hodnoty v strome ním stačí prejsť raz vyššie uvedeným spôsobom. Časová zložitosť tohto algoritmu je úmerná výške stromu. Ak má binárny strom n listov, je jeho výška (a teda aj rýchlosť vyhľadávania) rovná minimálne log2 n'' a maximálne n. Otázka správneho vyváženia je z tohoto pohľadu kritická a rieši ju napríklad AVL strom.

Pozri aj Cyklický graf AVL strom B-strom Binárne delenie

Iné projekty

Externé odkazy Vizualizácia rôznych vyhľadávacích stromov

Kategória:Údajové štruktúry