Contrôle de TD : Algorithmique et structures de données Groupe A Peip STI 2, Sabrina Ouazzani : [email protected] Décembre 2013, durée : 1h00 Résumé Les documents de cours et de td/tp sont autorisés. Les téléphones portables, ordinateurs et autres machines sont interdits. Les réponses aux questions des exercices doivent être justifiées et les notations utilisées introduites. 1 Questions de cours Question 1 1. Donnez la définition d’une liste simplement chaînée. 2. Dessinez la représentation d’une telle liste (non vide). Question 2 1. Donnez la définition d’une liste doublemnt chaînée. 2. Dessinez la représentation d’une telle liste (non vide). Question 3 1. Donnez la définition d’une file. 2. Donnez la définition d’une pile. Question 4 1. Donnez la définition d’un arbre binaire. 2. Quelle est la différence entre un arbre binaire et un tas ? 1 2 Exercices Exercice 1 En vous aidant de la représentation graphique des listes, indiquez les éléments des deux listes P, Q après l’exécution de chacune des instructions suivantes : P, Q : Liste ; P ← créerListe(7, créerListe(3, créerListe(42,NULL))) ; Q ← créerListe(6, P) ; insérerFin(Q, P↑succ↑info) ; Exercice 2 Écrivez un algorithme itératif qui renvoie le nombre d’éléments d’une liste L avant l’élément de valeur e, renvoie la longueur de la liste si e ̸∈ L. Exercice 3 Donnez un algorithme qui étant donnés un arbre binaire A et un entier p renvoie un entier qui est le nombre de noeuds de A de profondeur p. 2