## Voorbeeld: file system

Een belangrijke structuur die je overal in de informatica tegenkomt, is de boom.
Dit is een recursieve structuur: de structuur van de delen is gelijk aan de structuur van het geheel, zoals bij een boom in de natuur: een tak heeft dezelfde structuur als de boom.

Een boom: knoop A is de wortel (de boom is dus op de kop getekend), B, C en D zijn de kindknopen van ouderknoop A.
B heeft 0 kinderen, C heeft er 2, en D 1.

Je kunt in een boom niveaus onderscheiden: de kinderen van een knoop zijn ondergeschikt aan die ouderknoop.
Dit betekent dat je met een boom een hiërarchische structuur kunt weergeven.
Voorbeelden hiervan zijn:
een hiërarchisch bestandssysteem (file system), een tekst (boek met hoofdstukken en secties), een HTML-document en een organisatieschema.
Als je een boom handig organiseert, als zoekboom, dan kun je in een boom ook erg efficiënt zoeken.
Een voorbeeld daarvan is een binaire zoekboom.
Met een ontleedboom maak je de syntactische structuur van een (lineaire) zin duidelijk.
Aan de hand van deze structuur bepaal je de betekenis van deze zin.
Voorbeelden hiervan komen we tegen bij natuurlijke talen en bij formele talen zoals programmeertalen.
Een voorbeeld van een boomstructuur is een hiërarchisch file system, zoals je dat bijvoorbeeld tegenkomt bij operating systems als Windows, OS X, en Linux (Unix).
In zo’n file system is een bestand òf een “normaal” bestand, òf een map met bestanden.
Een bestand in een map kan dan ook zelf weer een map met bestanden zijn (recursie).

Een hiërarchisch file system: a, d en e zijn mappen, b.txt enz. zijn gewone bestanden.

Met behulp van zo’n hiërarchisch file system kun je je bestanden op een logische manier organiseren, bijvoorbeeld in een map per project.
De bestanden van een project kun je weer onderverdelen in documentatie, broncode, projectadministratie, e.d.