Structure de données utiles
Liste chainée Arbre (implémenté par liste chainé)
Qu’est-ce qu’une liste chaînée? C’est une liste ou chaque élément connait ses voisins immédiats (avant et après: si elle est doublement chaînée, avant: si elle est simplement chaînée), mais pas l’ensemble. Possible d’énumérer seulement, pas de sauter directement a un élément. De taille infini* *tant qu’il y a de la ram
La base Chaque élément de la liste est un nœud Nœud : une valeur * payload l’élément suivant * next Et optionnellement Élément précédent // si doublement chainee
Insertion Sélectionner le dernier nœud* première méthode(on peut ajouter au début) Créer un nœud Mettre le précédent du nouveau au dernier Mettre le suivant du dernier au nouveau *on inverse le troisième et quatrième pour ajouter au début.
Un arbre Pour gérer un arbre, c’est similaire mais avec des liens dans les 2 sens, (horizontal et vertical), on connait donc son parent et 1 enfant, cet enfant connaît ses frères. Un nœud ne connait pas plus que les nœuds directement connectés
Ajout dans un arbre On ajoute au début pour simplifier On crée le nœud On assigne son parent On assigne son suivant On assigne le précédent du suivant On assigne l’enfant du parent
Supprimer dans un arbre Si le nœud a des enfants, d’abord supprimer ces enfants Sélectionner le nœud Faire le lien précédent vers suivant* Si il n’y a pas de précédent parent.enfant = suivant Faire le lien suivant vers précédent Supprimer le noeud