TD No 4
from http://vernier.frederic.free.fr/Teaching/PimpA

Traversés et calculs dans des arbres.

Questions sans code à écrire

  1. Un élément clé dans la définition d'un arbre, c'est la relation entre le noeud "père" et (la liste) de ses noeuds "fils". Nommez au moins 3 differentes manières de representer cette relation !
  2. Un arbre n-aire, c'est quoi ?
  3. Construisez un arbre de degrée 3 et discutez l'ordre des visites pour les stratégies suivantes:
  4. Discutez le code incomplet pour EXO 4.1, EXO 4.2, EXO 4.3 ! Comment est-ce qu'on peut programmer des noeuds de "genres" différents comme "Value" et "Operation"?

Implémentations

  1. EXO 4.1 Arbre sans références (postfix-representation dans un tableaux). Implantez les parties qui manquent (TODO dans le code).
  2. EXO 4.2 Arbre avec references (representation via "pointer" dans un tableaux). Implantez les bouts qui manquent.
  3. EXO 4.3 [Optionel, MARCHE QUE SOUS LINUX! ] Arbre polyandique sans références (Une traversée du système de fichiers). Trouvez le "fichier régulier" de taille maximale, dans le répertoire ou ses sous-répertoires. Implantez les bouts qui manquent, cela veut dire la fonction int find_largest_file(string dir, string &name) .