INFOR 101 Chapitre 3 - PowerPoint PPT Presentation

About This Presentation
Title:

INFOR 101 Chapitre 3

Description:

Une fois qu'on a construit un algorithme, on peut utiliser celui-ci pour d velopper des ... Lisible, non ambigu, facile analyser. Exercice 2.1: Exponentiel ... – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 46
Provided by: Mariann60
Category:
Tags: infor | ambigu | chapitre | ont

less

Transcript and Presenter's Notes

Title: INFOR 101 Chapitre 3


1
INFOR 101 Chapitre 3
  • Marianne Morris

2
INFOR 101
  • Algorithmes et Pseudocode
  • Programmation en C
  • Architecture de lordinateur
  • Langage assembleur
  • Intro aux réseaux et à lintelligence artificielle

3
Révision du chapitre 2
  • Algorithmes
  • Pseudocode
  • Opérations en séquence
  • Opérations de condition
  • Opérations itératives

4
Révision du chapitre 2
  • Une fois quon a construit un algorithme, on peut
    utiliser celui-ci pour développer des algorithmes
    plus sophistiqués
  • Librairie
  • Une collection dalgorithmes utiles
  • Un instrument important pour le développement
    dalgorithmes

5
Révision du chapitre 2
  • Méthode descendante (top-down)
  • Pour résoudre des problèmes compliqués
  • Brouillon de lalgorithme pour réfléchir aux
    opérations de haut niveau
  • Élaborer les opérations de haut niveau après
    avoir développé un schéma brouillon de
    lalgorithme
  • Répéter jusquà ce que toutes les opérations de
    haut niveau soient développées à partir
    dopérations plus simples

6
Révision du chapitre 2
  • Développement dalgorithmes
  • Corrects et efficaces
  • Plusieurs étapes inclues pseudocode, brouillon et
    copies plus évoluées!
  • Utiliser des méthodes descendantes (top-down)
  • Utilisation du pseudocode
  • Pour aider à développer des algorithmes
  • Lisible, non ambigu, facile à analyser

7
Exercice 2.1 Exponentiel
  • Développez un algorithme pour calculer la valeur
    exponentielle dun nombre donné
  • Demandez à lutilisateur dentrer deux valeurs
    le nombre et la puissance
  • Utiliser une boucle dans votre algorithme
  • Imprimez à lécran de lordinateur le résultat de
    lopération exponentielle

8
Solution de lexercice 2.1Exponentiel
  • Get values for n and x
  • while (x lt 0)
  • output Please enter x ? 0
  • read x
  • If (n 0) then set result to 0
  • else if (n 1 or x 0) then set result to 1
  • else
  • set result to 1
  • set count to 1
  • while (count x)
  • result result n
  • Output the value of result

9
Exercice 2 Recherche et pattern-matching
  • Trouver si la séquence de lettres existe dans une
    liste de lettres alphabétiques
  • Séquence de lettres  abbd 
  • Liste contient un nombre N de lettres
  • Algorithme
  • Lire N à lécran
  • Rechercher la liste en utilisant une boucle et
    des conditions  if else 
  • Imprimer  found  ou  not found  à lécran

10
  • Figure 2.16
  • Pattern-Matching Algorithm

11
Chapitre 3 Lefficacité des algorithmes
  • Objectifs
  • Attributs des algorithmes
  • Mesurer lefficacité des algorithmes
  • Analyses des algorithmes

12
Introduction
  • Caractéristiques importantes des algorithmes
  • Corrects
  • Faciles à comprendre
  • Élégants
  • Efficaces

13
Attributs des algorithmes
  • Corrects
  • Est-ce que lalgorithme résout le problème pour
    lequel il a été construit?
  • Est-ce quil résout le problème correctement?
  • Faciles à comprendre
  • Est-ce que lalgorithme est lisible et facile à
    modifier?
  • Important pour la réécriture de programmes!

14
Attributs des algorithmes
  • Élégants
  • Est-ce que lalgorithme est intelligent, bien
    écrit et sophistiqué?
  • Attention conflit possible entre élégance et
    facilité à comprendre
  • Efficaces
  • Combien de temps et despace lalgorithme prend
    quand il est exécuté?
  • Attribut très important!

15
Mesurer lefficacité des algorithmes
  • Analyse des algorithmes
  • Étudier lefficacité de plusieurs algorithmes
  • Mesurer lefficacité en tant que fonction qui
    relie le montant des données au temps et à
    lespace que lalgorithme utilise
  • Étudier le meilleur scénario, le pire scénario et
    le scénario typique
  • La notation ? représente lordre de magnitude de
    la fonction de lefficacité

16
Lordre de magnitude Ordre n
  • Quand n est grand, leffet des coefficients et
    des termes dordre plus petit devient plus faible
  • Ex n/2, n, 2n, 3n ? n
  • Toutes fonctions linéaires sont équivalentes
  • Lordre de magnitude n
  • Les fonctions varient en tant que c x n
  • ?(n)

17
  • Figure 3.4
  • Work cn for Various Values of c

18
Recherche en séquence
  • Chercher un nom NAME dans une liste de n noms
  • Commencer au début de la liste et comparer NAME à
    chaque entrée dans la liste jusquà ce quon
    trouve la bonne entrée

19
  • Figure 3.1
  • Sequential Search Algorithm

20
Recherche en séquence
  • Analyse de lefficacité de lalgorithme pour une
    liste de n entrées
  • Meilleur scénario
  • NAME est le premier dans la liste
  • Une seule comparaison
  • ?(1)

21
Recherche en séquence
  • Analyse defficacité liste de n entrées
  • Pire scénario
  • NAME est le dernier dans la liste
  • NAME nest pas dans la liste
  • n comparaisons
  • ?(n)
  • Scénario typique
  • À peu près n/2 comparaisons
  • ?(n)

22
Utiliser lespace efficacement
  • Lalgorithme ne devrait pas utiliser plus
    despace (mémoire pour stockage) que lespace
    occupé par les données originales

23
Selection sort
  • Réarranger une séquence de n valeurs pour
    quelles soient en ordre
  • Lalgorithme
  • Chercher la plus grande valeur dans une section
    de la liste
  • Déplacer cette valeur dans une position plus
    correcte dans la section déjà triée de la liste
  • Utiliser lalgorithme  Find Largest 

24
  • Figure 3.6
  • Selection Sort Algorithm

25
Selection sort
  • Lalgorithme exécute Find Largest n fois
  • Chaque fois avec une plus petite liste
  • Coût n-1 (n-2) 2 1 n(n-1)/2
  • Find Largest fait m-1 comparaisons pour une liste
    de m valeurs

26
Selection sort
  • Efficacité temps
  • Comparaisons n(n-1)/2
  • Échanges n (swap largest en sa position)
  • Ordre ?(n2), meilleur et pire scénarios
  • Efficacité espace
  • Espace pour la séquence dentrées et un nombre
    constant de variables locales

27
Lordre de magnitude Ordre n2
  • Toutes fonctions avec termes dordre plus élevé
    cn2 sont plus ou moins équivalentes (ont des
    formes similaires)
  • Un algorithme qui fait des opérations de cn2 (où
    c est une constante) est donc dordre n2 ou bien
    ?(n2)

28
Lordre de magnitude Ordre n2
  • ?(n2) gt ?(n) peu importe les constantes sil y en
    a
  • Un algorithme qui exécute à ?(n) est bien plus
    efficace quun autre à ?(n2)

29
  • Figure 3.10
  • Work cn2 for Various Values of c

30
  • Figure 3.11
  • A Comparison of n and n2

31
Binary Search
  • Liste déjà en ordre
  • Chercher NAME en comparant par lélément au
    milieu
  • Restreindre la recherche à la moitié inférieure
    ou supérieure de la liste si on na pas encore
    trouvé lentrée voulue
  • Chaque passe élimine la moitié de la liste

32
  • Figure 3.18
  • Binary Search Algorithm (list must be sorted)

33
Binary Search
  • Efficacité
  • Meilleur scénario
  • Une seule comparaison
  • ?(1)
  • Pire scénario
  • lg n comparaisons
  • lg2 n le nombre n peut être divisé par 2 avant
    datteindre 1
  • ?(lg n)

34
Binary Search
  • Compromis
  • Recherche en séquence (Sequential Search)
  • Lent mais bon pour des données non ordonnées
  • Binary Search
  • Plus rapide mais la liste doit être en ordre

35
  • Figure 3.21
  • A Comparison of n and lg n

36
Pattern Matching
  • Mesurer deux données
  • m la longueur de la string du motif
  • n la longueur du texte
  • Lunité de travail
  • Comparaison dune lettre du motif avec une lettre
    du texte

37
  • Figure 2.16
  • Pattern-Matching Algorithm

38
Pattern Matching
  • Efficacité
  • Meilleur scénario
  • Motif na pas de correspondant
  • n - m 1 comparaisons
  • ?(n)
  • Pire scénario
  • Le motif a un correspondant à chaque point
  • (m -1)(n - m 1) comparaisons
  • ?(m x n)

39
  • Figure 3.22
  • Order-of-Magnitude Time Efficiency Summary

40
  • Figure 3.25
  • Comparisons of lg n, n, n2 , and 2n

41
  • Figure 3.27
  • A Comparison of Four Orders of Magnitude

42
Lectures
  • Vous êtes encouragé(e)s de lire chapitre 3
    surtout les algorithmes dans la section 3.4.1
    (aussi diapos 43-45) pour enrichir vos
    connaissances et pour pratiquer pour lexamen

43
  • Figure 3.14
  • The Shuffle-Left Algorithm for Data Cleanup

44
  • Figure 3.15
  • The Copy-Over Algorithm for Data Cleanup

45
  • Figure 3.16
  • The Converging-Pointers Algorithm for Data Cleanup
Write a Comment
User Comments (0)
About PowerShow.com