Efficacit - PowerPoint PPT Presentation

About This Presentation
Title:

Efficacit

Description:

Concevoir un algorithme qui utilise de fa on efficace les ressources de l ordinateur. ... Analyse th orique On compte le nombre d op rations l mentaires en ... – PowerPoint PPT presentation

Number of Views:78
Avg rating:3.0/5.0
Slides: 13
Provided by: uqa57
Category:

less

Transcript and Presenter's Notes

Title: Efficacit


1
Efficacité des algorithmes
  • Comment choisir parmi les différentes approches
    pour résoudre un problème?
  • 2 objectifs à atteindre
  • Concevoir un algorithme facile à comprendre,
    coder et déboguer.
  • Concevoir un algorithme qui utilise de façon
    efficace les ressources de lordinateur.

2
Efficacité des algorithmes(suite)
  • Objectif (1) concerne le génie logiciel
  • Objectif (2) Algorithmes et structures de
    données.
  • Lorsque lobjectif (2) est important, comment
    peut-on mesurer lefficacité dun algorithme?

3
Comment mesurer lefficacité?
  • Comparaison empirique coder et exécuter le
    programme
  • Analyse théorique (asymptotique)
  • Ressources critiques temps, espace mémoire,...
  • Facteurs affectant le temps dexécution
  • machine, langage, programmeur, compilateur,
    algorithme et structure de données.
  • En général, le temps dexécution dépend de la
    longueur de lentrée.
  • Ce temps est une fonction positive T(n) où n est
    la longueur de lentrée.

4
Analyse théorique
  • On compte le nombre dopérations élémentaires en
    fonction de la longueur de lentrée.
  • Exemple

Problème Op. élémentaire
Trouver x dans un tableau Comparaison de x avec les éléments du tableau
Multiplier 2 matrices Multiplication scalaire
Trier un tableau Comparaison entre deux éléments du tableau
Parcourir un arbre Visiter un noeud
5
Analyse théorique
  • La longueur de lentrée dépend du problème.
  • Exemple

Problème Longueur
Trier un tableau Nombre déléments dans le tableau
Multiplier deux matrices Dimension des matrices
Parcourir un arbre binaire Nombre de noeuds
Résoudre un système déquations linéaires Nombre dinconnues ou déquations
Résoudre un problème de graphe Nombre de nœuds et/ou nombre darêtes
6
Exemples
  • Exemple 1.
  • // Retourne lindice du plus grand élément
  • int PlusGrand(int T, int n)
  • int max 0
  • for (int i1 iltn i)
  • if (Tmax lt Ti)
  • max i
  • return max

7
Exemples (suite)
  • Exemple 2 int médiane(int T, int n)
  • return T(n/2)
  • Exemple 3
  • sum 0
  • for (i1 iltn i)
  • for (j1 jltn j)
  • sum

8
Meilleur algorithme ou ordinateur?
On suppose que lordinateur utilisé peut
effectuer 106 opérations à la seconde
9
Taux de croissance
10
Pire cas, meilleur cas et cas moyen
  • Toutes les entrées dune longueur donnée ne
    nécessitent pas le même temps dexécution.
  • Exemple
  • Recherche séquentielle dans un tableau de taille
    n On commence au début du tableau et regarde
    chaque élément jusquà ce que lélément cherché
    soit trouvé.
  • Meilleur cas 1 comparaison
  • Pire cas n comparaisons
  • Cas moyen n/2 comparaisons

11
(No Transcript)
12
Compromis espace-temps
  • Deux situations
  • Lorsqu'on peut réduire le temps de calcul en
    utilisant plus d'espace mémoire
  • Exemple table de conversion (look-up table).
  • Lorsqu'on peut réduire l'espace mémoire au prix
    d'un temps d'exécution plus long
  • Exemple compression de données
Write a Comment
User Comments (0)
About PowerShow.com