L3 - Introduction à l’algorithmique (Année 2012/2013) V .Chau/D. Letsios TD6 - Arbre binaire de recherche et algorithme glouton Exercice 1. Arbre binaire de recherche 1. Insérez les clés suivantes dans un arbre binaire de recherche initialement vide : 24, 13, 36, 48, 60, 42, 30, 26, 6, 15, 18 2. Donnez le comportement d’un algorithme qui supprime une clé d’un arbre binaire de recherche. 3. Retirez les clés suivantes de l’arbre binaire de recherche de la question 1 : 60, 24, 42 Exercice 2. ordonnancement Ordonnancez les tâches suivantes pour maximisez le nombre de tâches effectuées : [6, 10], [2, 4], [3, 5], [7, 9], [10, 14], [0, 4], [8, 10], [13, 15], [5, 8] Exercice 3. Permanence Une association cherche à assurer une permanence de ses locaux durant 24h, pour cela plusieurs bénévoles sont volontaires. Chaque bénévole a fourni à l’association les horaires durant lesquels il peut être présent. . Trouver un algorithme qui minimise le nombre de volontaires pour assurer la permanence. Exercice 4. Stockage de données Nous disposons d’une mémoire de taille L et d’un groupe de fichiers P = (P1 , . . . , PP n ). Chaque fichier nécessite une place ai pour être stocké en mémoire. Nous supposons que ai > L : nous ne pouvons donc pas sauvegarder tous les fichiers. Il va falloir se contenter d’un sousensemble Q de fichiers. Dans un premier temps, nous souhaitons que Q contienne le plus grand nombre possible de fichiers. Pour cela nous proposons d’utiliser l’algorithme glouton qui trie les fichiers par taille croissante. 1. Supposons que la liste de fichier soit ordonnée par taille croissante (a1 ≤ . . . ≤ an ). Écrivez un algorithme en pseudo code pour la stratégie présentée ci-dessus. Vous renverrez un tableau booléen S tel que S[i] = 1 si Pi est dans Q et S[i] = 0 si Pi n’est pas dans Q. Quelle est la complexité de cet algorithme en nombre de comparaison et en nombre d’opération arithmétique ? 2. Montrer que cette stratégie renvoie toujours un sous-ensemble Q optimal tel que X ≤ L. Pi ∈Q 1 P 3. Soit Q le sous-ensemble obtenu. À quel point le quotient d’utilisation petit ? Pi ∈Q L ai peut-il être Maintenant nous souhaitons sélectionner le sous-ensemble Q de P qui maximise le quotient d’utilisation, i. e. celui qui remplit le plus le disque. Cette fois-ci nous allons utiliser l’approche gloutonne qui considère les fichiers par taille décroissante. 4. Montrer que cette stratégie n’est pas optimale. À quel point le quotient d’utilisation peutil être petit ? Prouvez-le. 2