Table of Contents

Laboratorul 5: Arbori de căutare

1. Obiectivele laboratorului

2. Definiție

Un arbore binar de căutare este un arbore binar care are în plus următoarele proprietăți:

Astfel,valoarea maximă dintr-un arbore binar de căutare se află în nodul din extremitatea dreaptă și se determină prin coborârea pe subarborele drept, iar valoarea minimă se află în nodul din extremitatea stângă.

Parcurgerea inordine produce o secvență ordonată crescător a cheilor din nodurile arborelui.

3. Operații

4. Exerciții

  1. Se dă un vector cu n întregi (citit din fișierul input.txt, câte un număr pe fiecare linie). Scrieţi o funcţie care să creeze un arbore binar de căutare cu valorile din vector. Scrieţi o funcţie care verifică dacă arborele este binar de căutare. Scrieţi o funcţie care verifică dacă o valoare (generată aleator) dată se află în arbore (căutare). Acelaşi arbore – inserare (şi să rămână arbore de căutare). Acelaşi arbore – ştergere (şi să rămână arbore de căutare). [80% nota]
  2. Același enunț ca ex. 1 dar acum păstrați arborele echilibrat (AVL). [20% nota]

5. Probleme opționale, de interviu

  1. Se dă V (un vector de n întregi) şi P (un vector de taţi de lungime n). Verificaţi dacă se poate construi un arbore binar de căutare cu valorile din V şi legăturile copil-părinte din P.
  2. Propuneți soluții eficiente pentru a programa un program de tip “auto-complete” pentru o listă de cuvinte (în timp ce tastați se afișează cele mai probabile 3 cuvinte la care vă referiți). Hint: verificați/căutați trie sau arbori de prefixe.