Algorithmique
et Structures de Donn´ees
Myriam Desainte-Catherine
ENSEIRB – LaBRI – Universit´e Bordeaux I
Cours destin´e`alapremi`ere ann´ee de la fili`ere
informatique et de la fili`ere t´el´ecommunication
de l’ENSEIRB
BIBLIOGRAPHIE
Jean Roman cours manuscrit
Thomas Cormen,Charles Leiserson,
Ronald Rivest Introduction `a l’algorithmique
Premi`ere version 2001/2002
Table des mati`eres
1 Introduction 3
1.1 Probl`emes............................. 4
1.1.1 Chaˆıneder´esolution de probl`emes............ 4
1.1.2 Exemples de probl`emes.................. 6
1.1.3 Remarques......................... 8
1.2 Algorithmes ............................ 8
1.2.1 Triparinsertion ..................... 8
1.2.2 ´
El´ements de base du langage de description algorithmique 10
1.2.3 Variables.......................... 10
1.2.4 Constantes......................... 10
1.2.5 Types ........................... 11
1.2.6 Instructionssimples.................... 11
1.2.7 Structures de contrˆole .................. 11
1.2.8 Instructions d’´echappement ............... 13
1.3 R´ecursivit´e ............................ 14
1.3.1 Conception r´ecursive ................... 14
1.3.2 Exemples ......................... 15
2
1.3.3 Fonctionnement...................... 15
2 Analyse des algorithmes 18
2.1 Mod`eledemachine ........................ 18
2.2 Mesure de la complexit´e ..................... 20
2.2.1 Mesure du coˆutdunalgorithme............. 20
2.2.2 Exempledutriparinsertion............... 21
2.2.3 Fonctions et proc´edures r´ecursives............ 23
2.2.4 Configuration des donn´ees et complexit´e ........ 27
2.3 Comparaisondalgorithmes.................... 32
2.3.1 Grandeurdesfonctions.................. 32
2.3.2 Notationasymptotique.................. 32
2.3.3 Impact pratique de la notion d’ordre de grandeur de la
complexit´edesalgorithmes................ 35
3 Structures de donn´ees 37
3.1 Notiondetypeabstrait...................... 37
3.2 D´enitionduntypeabstrait................... 38
3.2.1 Signature ......................... 39
3.2.2 Propri´et´esduntypeabstrait .............. 41
3.3 Typesabstraitsdebase...................... 42
3.3.1 Typesprimitifs ...................... 42
3.3.2 Typetableau ....................... 42
3.3.3 Typestructure ...................... 44
3.3.4 Exemple:matricerectangulaire ............. 45
3.4 Structures de donn´eesdynamiques ............... 47
3
3.4.1 Clarifications sur la notion d’adresse et sur l’affectation 48
3.4.2 Tableaux infinis ...................... 51
3.4.3 Structures chaˆın´ees.................... 55
3.5 Lapile............................... 58
3.5.1 Signaturedutypeabstraitpile.............. 58
3.5.2 Axiomesdutypeabstraitpile .............. 59
3.5.3 Impl´ementation d’une pile avec une structure et un
tableau........................... 59
3.5.4 Exemple : ´evaluation d’une expression postfix´ee .... 61
3.6 Lale ............................... 62
3.6.1 Signaturedutypeabstraitle.............. 62
3.6.2 Axiomesdutypeabstraitle .............. 63
3.6.3 Impl´ementation d’une file par un tableau circulaire . . 64
3.7 Leslistes.............................. 64
3.7.1 La liste r´ecursive ..................... 65
3.7.2 Signature ......................... 65
3.7.3 Axiomes.......................... 66
3.7.4 Impl´ementation...................... 66
3.7.5 Listes avec insertion et suppression ........... 67
4 Structures de donn´ees arborescentes 73
4.1 Lesarbresbinaires ........................ 73
4.1.1 D´enition ......................... 74
4.1.2 Signaturedutypeabstraitarbrebinaire ........ 74
4.1.3 Terminologiesurlesarbres................ 75
4.1.4 Caract´eristiquesdunarbrebinaire ........... 76
4
4.1.5 Unexempledecodagedesarbresbinaires ....... 77
4.1.6 Bornessurlaprofondeurdunarbrebinaire ...... 77
4.1.7 Arbresbinairescomplets................. 79
4.1.8 Parcoursdarbresbinaires ................ 80
4.1.9 Arbresbinairesderecherche............... 84
4.1.10 Arbresrougeetnoir ................... 91
4.1.11 Lestas........................... 94
5
1 / 100 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !