Portfolio
CS Základy: Binary Search Trees

CS Základy: Binary Search Trees

Únor 2026

V této části jsem implementoval binární vyhledávací strom od nuly. Cíl byl jednoduchý: pochopit, proč BST nabízí rychlé vyhledávání, pokud je strom vyvážený.

Co projekt řeší

  • ukládání hodnot podle pravidla menší vlevo, větší vpravo,
  • operace insert, find, delete,
  • průchody stromem (inOrder, preOrder, postOrder),
  • výpočet výšky a hloubky uzlu,
  • kontrolu vyváženosti a rebalance.

Co bylo důležité

Největší část projektu byla práce s rekurzí. Většina metod se přirozeně řeší voláním na podstrom.

Zásadní byla i rovnováha stromu. Pokud se do BST vkládají seřazená data, struktura se degraduje na lineární seznam a výkon padá. Proto jsem doplnil rebalance, aby strom po sérii operací zůstal použitelný.

Co jsem si odnesl

  • Lepší orientaci v rekurzivních algoritmech.
  • Praktické pochopení rozdílu mezi vyváženým a nevyváženým stromem.
  • Jistotu v implementaci základních stromových operací bez knihoven.

GitHub: projekt BST