CS Základy: Binary Search Trees
Únor 2026
Třetí zastávka v mém CS týdnu: Binární vyhledávací stromy (BST). Pokud jste si mysleli, že Linked Listy jsou složité, stromy posouvají laťku výš. Každý uzel má ne jednoho, ale dva potomky – levého (menší hodnota) a pravého (větší hodnota).
Rekurze, kam se podíváš
Tento projekt byl ultimátním tréninkem rekurze. Většina metod (insert, delete, find, depth) volá sama sebe.
Místo složitých cyklů stačí pár řádků, které delegují práci na další uzel.
Rovnováha je základ
Největší výzva? Udržet strom vyvážený (rebalance). Pokud vkládáte seřazená data (1, 2, 3, 4…), strom se degraduje na obyčejný Linked List a ztrácí svou rychlost. Musel jsem napsat funkci, která strom “přeskládá”, aby byl optimální pro vyhledávání.
GitHub: projekt BST