You are on page 1of 2
Université de Yaoundé 1/Départemont d'Informatique ” INF L3/Année académique 2023-2024 INF3212 : Complexité Algorithmique 1 Fiche de TD n° 1 Exercice 1: Soit x un réel et n un entier. 1. Ecrire un algorithme itératif pour calculer 2". 2. Berire un algorithme récursif pour calculer 2". 3. Quelle est ’opération barométre dans ces algorithmes. 4. Evaluer la complexité dans le meilleur et dans le pire des cas pour ces algorithmes et sur cette base comparer les Algorithies. ae Exercice 2: Le probléme est de déterminer & partir de quel étage d'un immeuble, sauter par une fenétre est fatal. Vous étes dans un immeuble a n étages (numérotés de 1 & n) et vous disposez de k étudiants. Les étudiants sont classés par age décroissant. I n’y a qu’une opération possible pour tester si la hauteur d’un étage est fatale : faire sauter le premier étudiant de la liste par la fenétre. Sil survit, vous pouvez le réutiliser ensuite (évidement, l’étudiant survivant reprend sa place initiale dans la liste triée), sinon vous ne pouvez plus. Vous devez proposer un algorithme pour trouver la hauteur a partir de laquelle un saut est fatal (renvoyer n+1si on survit encore en sautant du n-éme étage) en faisant le minimum de sauts. Proposer trois algorithmes de complexité différentes pour ce probléme. Exercice 3: Dans un groupe de n personnes (numérotées de 1 & n pour les distinguer), une star est quelqu’un qui ne connait personne mais que tous les autres connaissent. Pour démasquer une star, s’i] en existe ‘une, vous avez juste le droit de poser des questions, & n'importe quel individu ¢ du groupe, du type ‘est-ce que vous connaissez j?". On suppose que les individus répondent la vérité, On veut un algorithme qui trouve une star, s'il en existe, ou sinon qui garantit qu'il n’y a pas de star dans le groupe, en posant le moins de questions possibles, 1. Combien peut-il y avoir de stars dans le groupe? 2. Ecrire un algorithme qui résous ce probléme. 3. Quelle est ’opération barométre dans cet algorithme. 4. Evaluer la complexité de lalgorithme dans le meilleur des cas et dans le pire des cas. Exercice 4: Dans une boite a outils, vous disposez de n écrous de diamétres tous di ?érents et des n boulons correspondants. Mais tout est mélangé et vous voulez appareiller chaque écrou avec le boulon qui lui correspond. Les di ?érences de diamétre entre les écrous sont tellement minimes qu'il n'est pas possible de déterminer |’ 7il nu si un écrou est plus grand qu’un autre. Il en va de méme avec les boulons. Par conséquent, le seul type d’opération autorisé consiste @ essayer un écrou avec un boulon, ce qui peut amener trois réponses possibles : soit l’écrou - est strictement plus large que le boulon, soit il est strictement moins large, soit ils ont exactement le méme diamétre. 1. Berire un algorithine qui appareille chaque’ éerou avec son boulon, 2. Quelle est sa complexité dans le pire des cas? 3. Supposons qu’au lieu de vouloir appareiller to voulez juste trouver le plus petit écrou et le bo tlon correspondant. Ecrire Palgorithme et évaluer sa. complexité. Exercice 5: 1. Implémenter tous les algorithmes des exerci des structures des donnéds est important. 97 et 2; Pour chaque algorithme, effectuer 10 expérime (a) Fixer une valeur de n quelconque (n sup‘ (b) Pour V’exercice 1, utiliser un x qui sera le rimentations a vip E (©) Pour Pexercice 8, A chaque expérimentation vous devez généret tn now- veau graphe de connaissance. Il s’agit de parcourir une matrice d?ad- | jacence initialement a 0 et d’affecter des 1 des maniére aléatoires. (4) ‘pour Pexercice 4, & chaque expérimentation vous devez générer deux suites d’éléments de 1 a n. La premiere suite corresponds a Vordre des Gcrous et la seconde a l'ordre des boulons, ; 3. Pour chaque expérimentations, inesurer le temps réel'd ?exécution et consi- gner toutes ces informations dans un tableau, |)) c0 Un rapport technique doit étre produit avec les implémentations et les tableaux.

You might also like