Académique Documents
Professionnel Documents
Culture Documents
Algorithmique avancée
Plan du cours
Rappels
Complexité et optimalité
La récursivité
Algorithmes de tri
Structures de données élémentaires
Programmation dynamique
Algorithmes gloutons
Graphes et arbres
Arbres de recherche
Plus courts chemins
Heuristiques
Bibliographie :
Instruction:
-déclaration
-affectation
-entrée
-sortie
Algorithmique?
Rappels : algorithmique I
Schéma de résolution d’un problème:
Rappels : algorithmique I
Caractéristiques de qualité d'un algorithme :
Lisible
Correct (preuve)
Efficace (complexité)
Rappels : algorithmique I
Différences entre algorithmes et programmes
Un programme est la réalisation (l’implémentation) d’un
algorithme au moyen d’un langage donné.
Exemple:
Torch
Rappels : algorithmique I
Double problématique de l’algorithmique ?
Definition 1 :
On dit que f=Ο (g) si et seulement si il existe c>0 et n0ϵN tel que :
Definition 2
On dit que f=Ω(g) si et seulement si:
g=O(f)
Exemples :
Montrer que:
5*n3+ 3*n+7=O(n3)
5*n3+ 3*n+7=Θ(n3)
Analyse de la complexité :
Complexité
Définition:
La complexité d’un algorithme est la
mesure du nombre d’opérations fondamentales
qu’il effectue sur un jeu de données.
Analyse de la complexité :
Exemple:
Analyse de la complexité :
Exemple:
Analyse de la complexité :
Exemple:
Analyse de la complexité :
Exemple:
Exercice:
// t tableau de n entiers
// n entier >0
Entier: max
max t[0]
Pour i=1 à n-1
si (max <t[i])
maxt[i]
Fin si
Fin pour