Portfolio
CS Základy: Binary Search Trees

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