Fa (fák)
A fa egy hierarchikus adatszerkezetet, amelyben egy elmnek akár több rákövetkezője, de legfeljebb egy megelőzője lehet.

- Minden elemeknek több rákövetkezője, gyereke, leszármazottja lehet.
- A gyökérelem a fa azon eleme, amelynek nincs megelőzője, szülője. Az üres fa kivételével minden fának van gyökéreleme. A gyökérelemen kívül az összes elemnek pontosan egy megelőzője van.
- Minden elem pontosan egy úton érhető el a gyökérelemtől.
- Út: az adatelemnek olyan sorozata, ahol az egymást követő elemek egymásnak rákövetkezői, leszármazottjai. Az út hosszán az útban található élek számát értjük.
- Levél: a fa azon elemei, amelyeknek nincs rákövetkezőjük.
- Belső csúcs: a fa nem levél elemei.
- A fákkal kapcsolatban beszélhetünk szintekről, egy elem szintje megegyezik a gyökérelemtől vett távolságával. A nulladik szinten a gyökérelem van, az első szinten a gyökérelem rákövetkezői, stb.
- A maximális szintszámot a fa magasságának vagy mélységének nevezzük.
- Minden közbenső elem egy részfa gyökereként tekinthető, így a fa részfákra bontható. Tehát a fát lehet rekurzívan is definiálni, azaz a fa áll egy gyökérelemből és a leszármazottai részfáiból.
- Ha egy elemnek nincs utódja, akkor szélső elemnek vagy levélnek, a többi csúcsot belső elemnek, vagy elágazási pontnak nevezzük.
- Erdőnek nevezünk néhány, (esetleg 0) diszjunkt fából álló halmazt: Másképp, erdőt kapunk, ha egy fából elhagyjuk a gyökeret. Egy erdőhöz egy pontot adva fát adunk.


Rekurzió
Rekurzív egy függvény, ha a függvény részszámításaihoz önmagát hívja meg.

Egy feladat rekurzív, ha a feladat megoldásához vezető lépések során:
    - találunk egy legegyszerűbb esetet, melyben a megoldás magától értetődik
    - találunk egy olyan ismételt egyszerűsítési folyamatot, mely alapján véges lépésben eljuthatunk a legegyszerűbb esethez. Minden egyes lépésnél feltételezzük, hogy a következő, egyszerűbb esetnek már megvan a megoldása.


Rekurzív eljárás, függvény
Egy metódust (eljárást vagy függvényt) rekurzívnak nevezünk, ha meghívja saját magát.
- Közvetlen rekuzió: a metódust közvetlenül saját magát hívja meg. Pl. r1 metófus hívja az r1-esetet
- Közvetett rekuzió: a metódus csak közvetve hívja meg magát egy másik metódus hívásán keresztül. Pl. r1 hívja r2-t, r2 pedig r1-et.

Egy rekurzív metódusban szerepelnie kell:
    - valaminek, ami a hívások során állandóan változik, és elvileg elérhet egy küszöböt.
    - egy olyan utasításnak, mely ezt a valamit a küszöb felé viszi.
    - egy leállító feltételnek, mely arról a bizonyos valamiről eldönti, elérte-e a küszöböt. Ha igen, akkor nem történik több rekurzív hívás.

Az alábbi példa egy általános fa adatszerkezetet mutat be, amelyben egy csomópont több gyermekkel rendelkezhet. A fa alapvető működését mutatjuk be, beleértve a csomópontok hozzáadását, a fa bejárását és egy egyszerű keresési műveletet.