Structures de données Examen2 // 2009 2010 Barème : (2 + 3+5) + (2 +3+2+3) Durée : 1H30 Arbres a) Donner dans le tableau ci-après le prochain préordre ( N T1 T2) de chaque élément de l’arbre Prochain Préordre 34 67 87 22 15 56 5 60 58 90 b) Retrouver l’algorithme de recherche qui construit en même temps la pile des nœuds traversés. c) En déduire l’algorithme qui donne le prochain Préordre d’un nœud donné en utilisant la pile. Graphes Soit la machine abstraite suivante définie sur les graphes : CréerNoeud(G, u) Liberernoeud(G, u) CreerArc(u, v, info) LibererArc(u, v) Info(u) Aff_info(u, info) Arc(u, v) Aff_arc(u, v, info) Adjacent(u, i) Degre(u) NoeudGraphe ( G, i ) NbreGraphe ( G ) Créer un nœud u du graphe G. Libérer le nœud d’adresse u du graphe G. Créer un arc de u vers v avec l’information info Libérer l’arc de u vers v Info rattachée au nœud u Affecter la valeur info au nœud u Info rattachée à l’arc u – v Affecter la valeur info à l’arc u - v Accès au I-ème nœud adjacent à u Nombre de nœuds adjacents à u Accès au I-ème nœud du graphe G Nombre de nœuds du graphe G Utiliser uniquement les opérations de la machine abstraite pour a) Donner la séquence des opérations permettant de créer le graphe suivant : b) Parcourir un graphe quelconque G en DFS (Depht First Search). Le graphe précèdent peut être représenté en mémoire comme suit : c) Déduire la description C d’un graphe quelconque ainsi représenté. d) Implémenter les opérations NbrGraphe(G) , Degre(N), Adjacent(N, i), NoeudGraphe ( G, i )