Chapitre 1 Flashcards
Introduction à l'algorithmique
Définition d’un algorithme:
Enchaînement d’actions permettant l’accomplissement d’une tâche. Description de procédures permettant de faire des opérations sur des nombres (addition, soustraction, multiplication et division).
Nommer les ressources utilisées pour mesurer l’efficacité d’un algorithmes.
- Le temps d’exécution.
- L’espace mémoire utilisé.
- La bande passante utilisée.
Expliquer l’approche empirique.
Consiste à essayer l’algorithme sur différents jeux de données bien choisis.
(On ne retiens pas cette approche)
Nommes les avantages et les inconvénients de l’approche empirique.
Avantages:
- Ne nécessite aucune connaissance en algorithmique.
- Résultats réalistes pour les instances testées dans l’environnement de test.
Inconvénients:
- Pas toujours généralisable aux instances non testées.
- Couteux et long (nécessite beaucoup de tests)
- Dépend de l’environnement d’exécution (le processeur, l’OS, la charge, l’implémentation…)
Expliquer l’approche algorithmique.
Consiste à analyser le cout d’exécution d’un algorithme. (On retiens cette approche)
Expliquer le cout d’exécution d’un algorithme.
Le cout d’exécution est défini par le nombre d’opérations élémentaires effectuées durant son exécution,
Une opération élémentaire est une opération non divisible.
- Exemple d’opérations élémentaires: comparaison, addition, multiplication d’une donnée élémentaire…
- Exemple d’opérations non élémentaires: tri d’un tableau, recherche d’un élément, exécution d’un autre algorithme…
Expliquer les avantages et les inconvénients de l’approche algorithmique.
Avantages:
- Résultats généraux: ne dépend pas de l’environnement d’exécution.
- Estimation rapide et peu couteuse.
Inconvénients:
- Nécessite la compréhension de notions algorithmiques.
Qu’est-ce que la notation O?
Détermine la borne supérieur d’une fonction dans la notation asymptotique.
Qu’est-ce que la notation Ω?
Détermine la borne inférieure d’une fonction dans la notation asymptotique.
Qu’est-ce que la notation θ?
Si la notation O et la notation Ω alors la fonction est de notation θ dans la notation asymptotique.
Définition d’une opération baromètre.
Opération élémetaire qui, à une constante près, est effectuée au moins aussi souvent que n’importe quelle autre opération élémentaire de l’algorithme.
Donner l’ordre des classes de complexité pour le temps d’exécution d’un algorithme en ordre croissant.
O(1) < O(log(n)) < O(n) < O(nlog(n)) < O(n^2) < O(2^n) < O(10^n) < 0(n!)
Nommer les avantages et les inconvénients d’une solution récursive.
Avantages:
- Formulation compacte, claire et élégante.
- Solution naturelle et facile à concevoir.
- Maîtrise des problèmes dont la nature même est récursive.
Inconvénients:
- Possibilité de grande occupation de mémoire.
- Temps d’exécution peut être plus long.
- Estimation parfois difficile de la profondeur maximale de la récursivité.