La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Structures de données et complexité. Notions de Complexité

Copies: 1
Structures de données et complexité LIFO – FILO – FIFO – etc…

Présentations similaires


Présentation au sujet: "Structures de données et complexité. Notions de Complexité"— Transcription de la présentation:

1 Structures de données et complexité

2 Notions de Complexité

3 Notion d'algorithme Algorithme : ensemble d'actions de traitement l'information échanger, recevoir, ranger, compter… Agit sur des données initiales ("entrées") Produit des résultats ("sorties") Programmation d'un algorithme: Expression dans un langage de programmation Styles de programmation (itérative, récursive…)

4 Complexité dun algorithme Mesurer lefficacité dun algorithme Coût en nombre dopérations: Fonction du nombre n de données (mots mémoire ou bits) à traiter Algorithme polynomial : O(n 2 ), O(n 3 ), … opérations Parcours dune matrice carrée n x n, produit de 2 matrices,... Algorithme exponentiel : O(e n ) Très lent en pratique Coût moyen : pas facile à calculer hypothèses probabilistes sur la répartition des données Complexité : coût maximal, pire des cas

5

6

7

8

9

10

11

12

13

14

15

16 Structures de données

17 A quoi ça sert ?!? Savoir ranger les données Tableaux limités Agencer les données dune certaine manière Ex: Processus physiques de type flux…

18 Les PILES - Stack (LIFO) Last In – First Out Principe de la pile dassiette

19 Opérations sur les piles Empiler(e): ajouter e en haut de la pile Dépiler(): extraire lélément au sommet Vide(): vider la pile EstVide(): teste si la pile est vide EstPleine(): teste si la pile est pleine

20 Exemple dutilisation Notation postfixée des expressions arithmétiques 2+5*6 256*- Détermination de palindrome, etc…

21 Implémentation par tableau Empile Dépile

22

23

24 Les FILES (FIFO) First In – First Out Principe de la File dattente

25 Opérations sur les files Enfiler(e): ajouter e en haut de la file Défiler(): extraire lélément en bas Vide(): vider la file EstVide(): teste si la file est vide EstPleine(): teste si la file est pleine

26 Exemple dutilisation File dattente utilisateur ou processus Base de données Etc…

27 Implémentation par tableau Enfile Empile Défile

28 Vision circulaire de la file Test pour plein: Fin = Début Test pour vide: Fin = Début Comment faire ? Variable booléenne

29

30

31 Les Listes chaînées Inconvénients des précédents: nombres limités déléments Principe: le jeu de piste; pointeur vers lélément suivant

32 Opérations sur les Listes Ajoute(e): ajouter e au bout de la liste Récupère(n): extraire lélément à la n ième position Vide(): vider la liste EstVide(): teste si la liste est vide …etc…

33 Exemple dutilisation On peut implémenter des piles, files, tableaux et bien dautres choses avec des listes.

34 Les Listes doublement chaînées Inconvénients des listes simplement chaînées: un seul sens de parcours Principe: on rajoute un sens; pointeur vers lélément suivant et lélément précédent

35 Arbres Binaires Structures arborescentes Utilisations: Langage naturel Algorithme de recherche Jeu, echecs

36 Possibilités pour le prochain cours Théorie des graphes Sécurité informatique (Net & Réseaux) Base de donnée et + si temps libre Théorie de la complexité avancée Programmation objet Intelligence artificielle distribuée Intelligence artificielle « Logique » Vie Artificielle et Programmation génétique

37


Télécharger ppt "Structures de données et complexité. Notions de Complexité"

Présentations similaires


Annonces Google