Algorithmique &Structures de données Examen 2 // 2013 2014 Barème : (4 + 2 + 4 + 4 + 2 + 4) Durée : 2H. Arbre de recherche binaire de tableaux de N nombres entiers : construction et sauvegarde sur le disque. 1. Construire un arbre de recherche binaire - à partir de M tableaux lus en entrée - dans lequel chaque nœud est un tableau de N entiers. L’arbre est ordonné selon le poids des tableaux. Le poids d’un tableau est la somme de ses éléments. On peut ranger des tableaux de poids égaux mais on ne range pas les tableaux identiques. 2. En utilisant un algorithme récursif, lister les éléments de l’arbre ordonnés selon leurs poids. 3. En utilisant un parcours Inordre avec une pile, déterminer dans l’arbre tous les tableaux de poids compris entre deux poids P1 et P2 donnés. 4. Construire un fichier LÔF (Liste non ordonné avec format fixe des articles) à partir de tous les tableaux contenus dans l’arbre parcouru en Inordre. On supposera que le tableau contenu dans le buffer est un multiple de N. De plus, on remplira les blocs à 100%. 5. Lister tous les éléments du fichier bloc par bloc. 6. On veut aérer les blocs L et L+1 (L donné et le bloc (L+1) existe) en rajoutant un troisième bloc entre ces deux blocs et en répartissant les articles équitablement dans les trois blocs. Donner l’algorithme correspondant. On utilisera (sans les écrire) les fonctions Poids(V) et Egal(V1, V2) définies comme suit : Poids(V) : donne le poids du vecteur V. Egal(V1, V2) : Vrai si V1 et V2 sont identiques. Rappel : L’inordre est défini récursivement comme suit : T1 n T2 pour tout sous arbre de racine n et de sous arbres gauche et droit T1 et T2.