Chapitre 1 Flashcards

Introduction à l'algorithmique

1
Q

Définition d’un algorithme:

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Nommer les ressources utilisées pour mesurer l’efficacité d’un algorithmes.

A
  • Le temps d’exécution.
  • L’espace mémoire utilisé.
  • La bande passante utilisée.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Expliquer l’approche empirique.

A

Consiste à essayer l’algorithme sur différents jeux de données bien choisis.
(On ne retiens pas cette approche)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Nommes les avantages et les inconvénients de l’approche empirique.

A

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…)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Expliquer l’approche algorithmique.

A

Consiste à analyser le cout d’exécution d’un algorithme. (On retiens cette approche)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Expliquer le cout d’exécution d’un algorithme.

A

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…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Expliquer les avantages et les inconvénients de l’approche algorithmique.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qu’est-ce que la notation O?

A

Détermine la borne supérieur d’une fonction dans la notation asymptotique.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Qu’est-ce que la notation Ω?

A

Détermine la borne inférieure d’une fonction dans la notation asymptotique.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Qu’est-ce que la notation θ?

A

Si la notation O et la notation Ω alors la fonction est de notation θ dans la notation asymptotique.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Définition d’une opération baromètre.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Donner l’ordre des classes de complexité pour le temps d’exécution d’un algorithme en ordre croissant.

A

O(1) < O(log(n)) < O(n) < O(nlog(n)) < O(n^2) < O(2^n) < O(10^n) < 0(n!)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Nommer les avantages et les inconvénients d’une solution récursive.

A

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é.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly