• Aide
  • Eurêkoi Eurêkoi

Livre

Algorithmique, structures des données et programmation Pascal et C++. Tome 2 , Pointeurs, listes chaînées, arbres, tris et programmation orientée objet

Résumé

Ce deuxième tome aborde, suivant une approche pédagogique et pragmatique, les files, les piles, les arbres, les algorithmes de tris et de recherche ainsi que les classes et les objets, les interfaces, le pointeur this et la surcharge de fonctions, les constructeurs et les destructeurs ou encore l'amitié avec une classe et la surcharge d'opérateurs. Avec des exercices à la fin de chaque chapitre. ©Electre 2022


  • Éditeur(s)
  • Date
    • C 2022
  • Notes
    • Bibliogr., sitogr. en fin de chapitres. Index
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (198 p.) : ill., fig. ; 24 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-343-25357-2
  • Indice
    • 681.22(07) Langages. Environnements de développement. Manuels
  • Quatrième de couverture
    • Algorithmique, Structures des Données et Programmation Pascal et C++

      Tome 2

      Ce tome 2 d'Algorithmique, Structures des Données et Programmation Pascal et C++ traite les Pointeurs, les types Abstraits de Données : les Files, les Piles, les Arbres ; les Algorithmes de Tris et de Recherche. Il traite également la Programmation Orientée Objet en C++ : les Classes et les Objets ; les Interfaces, le Pointeur this et la Surcharge de fonctions ; les Constructeurs et les Destructeurs ; l'Amitié avec une Classe et la Surcharge d'Opérateurs ; l'Héritage, le Polymorphisme et les Templates.

      Une approche pédagogique et pragmatique a été utilisée, avec une démarche explicative appuyée par des figures originales conçues pour faciliter la compréhension. A la fin de chaque chapitre une série d'exercices est proposée pour l'approfondissement des connaissances et compétences théoriques et pratiques. Il constitue, avec le tome 1, un outil permettant de nombreuses applications dans divers domaines du traitement de l'information. Il peut être très bénéfique pour les étudiants scientifiques (mathématiciens, physiciens, biologistes, statisticiens, économistes, médecins, etc.), les techniciens (ingénieurs et élèves-ingénieurs), les doctorants et les enseignants-chercheurs.


  • Tables des matières
      • Algorithmique, Structures des Données et Programmation Pascal et C++

      • Tome 2

      • Pointeurs, Listes Chaînées, Arbres, Tris et Programmation Orientée Objet

      • Serigne Bira Gueye

      • L'Harmattan Sénégal

      • Avant-propos vii
      • Table des Matières xi
      • Table des Figures xvii
      • Liste des Tableaux xxi
      • I Pointeurs et Listes Chaînées23
      • 1 Pointeurs et Listes Chaînées 25
      • 1.1 Donnée Statique, Donnée Dynamique25
      • 1.2 Variable, Adresse, Contenu et Type25
      • 1.3 Pointeur26
      • 1.3.1 Déclaration, Affectation et Pointeur NIL26
      • 1.4 Définition d'un Type Pointeur28
      • 1.5 Allocation Dynamique de Mémoire28
      • 1.5.1 Allocation Dynamique de Mémoire (new())28
      • 1.5.2 Désallocation Dynamique de Mémoire30
      • 1.6 Pointeur sur une Structure30
      • 1.7 Liste Linéaire Chaînée31
      • 1.7.1 Liste Chaînée31
      • 1.7.2 Exemple et Autres Représentations35
      • 1.8 Exercice d'Application36
      • 1.9 Pointeurs en C++38
      • 1.9.1 Déclaration et Affectation d'un Pointeur en C++38
      • 1.9.2 Définition d'un Type Pointeur en C++39
      • 1.9.3 Liste Chaînée en C++40
      • 1.10 Allocation Dynamique de Tableaux en C++41
      • 1.10.1 Tableau Dynamique à une Dimension ou Vecteur41
      • 1.10.2 Tableau Dynamique à Deux Dimensions42
      • 1.10.3 Applications pour Tableaux Dynamiques43
      • 1.11 Conclusion44
      • 1.12 Exercices44
      • 2 Listes Chaînées : Parcours, Insertion et Suppression 47
      • 2.1 Parcours d'une Liste Chaînée47
      • 2.1.1 Principe47
      • 2.1.2 Implémentation en Pascal48
      • 2.1.3 Sous-Programme de Parcours et Généralisation49
      • 2.2 Insertion dans une Liste Chaînée51
      • 2.2.1 Insertion au Milieu d'une Liste Chaînée51
      • 2.2.2 Insertion à 1a. Fin d'une Liste Chaînée53
      • 2.2.3 Insertion en Début de Liste ou dans une Liste Vide54
      • 2.2.4 Implémentation en Pascal et Pseudo-code55
      • 2.3 Suppression d'un Elément d'une Liste Chaînée57
      • 2.3.1 Suppression en Début de Liste Chaînée57
      • 2.3.2 Suppression au Milieu ou en Fin de Liste Chaînée57
      • 2.3.3 Implémentation en Pascal et Pseudo-code59
      • 2.4 Listes Chaînées Bidirectionnelles61
      • 2.5 Conclusion61
      • 2.6 Exercices62
      • 3 Files (Queue) et Piles (Stack) 65
      • 3.1 Les Files (Queue)65
      • 3.1.1 Enfiler (Enqueue)66
      • 3.1.2 Défilage (Dequeuing)67
      • 3.1.3 Autres Opérations : InitFile, FileVide68
      • 3.1.4 Axiomes pour la File68
      • 3.1.5 Implémentation de Sous-Programmes68
      • 3.1.6 File et Tableau (Queue, Array)70
      • 3.2 Les Piles (Stack)72
      • 3.2.1 Empilage, Empiler (Push)73
      • 3.2.2 Dépilage, Dépiler (Pop)74
      • 3.2.3 Autres Opérations : InitPile, PileVide75
      • 3.2.4 Axiomes pour la Pile75
      • 3.2.5 Implémentation de Sous-Programmes76
      • 3.2.6 Pile et Tableau (Stack, Array)78
      • 3.3 Conclusion79
      • 3.4 Exercices79
      • II Arbres83
      • 4 Arbres de Données, Arbres Binaires 85
      • 4.1 Arbre (Tree), Définitions85
      • 4.1.1 Noeud, Arête86
      • 4.1.2 Racine86
      • 4.1.3 Chemin86
      • 4.1.4 Niveau, Profondeur86
      • 4.1.5 Parent, Fils, Frères et Soeurs86
      • 4.1.6 Degré87
      • 4.1.7 Feuille, Noeud Interne87
      • 4.1.8 Hauteur87
      • 4.1.9 Ancêtre, Descendant87
      • 4.1.10 Sous-Arbre88
      • 4.2 Arbres Binaires88
      • 4.2.1 Définition88
      • 4.2.2 Arbre Binaire et Pointeurs89
      • 4.3 Ordre des Noeuds d'un Arbre Binaire90
      • 4.4 Parcours d'un Arbre Binaire91
      • 4.4.1 Parcours en Profondeur91
      • 4.4.2 Parcours en Largeur93
      • 4.5 Arbres Binaires Plein, Complet, Relation Arbre-Tableau95
      • 4.5.1 Arbre Binaire Plein95
      • 4.5.2 Arbre Binaire Complet96
      • 4.5.3 Arbre Binaire Complet et Tableau97
      • 4.6 Autres Représentations d'un Arbre97
      • 4.7 Conclusion98
      • 4.8 Exercices98
      • 5 Arbre Binaire de Recherche 101
      • 5.1 Minimum, Maximum d'un ABR102
      • 5.2 Recherche et Chemin d'un Noeud dans un ABR103
      • 5.3 Insertion dans un Arbre Binaire de Recherche104
      • 5.4 Suppression du Minimum d'un ABR105
      • 5.5 Suppression d'un Noeud Quelconque d'un ABR107
      • 5.5.1 Suppression d'une Feuille107
      • 5.5.2 Suppression d'un Noeud à un Fils108
      • 5.5.3 Suppression d'un Noeud à Deux Fils109
      • 5.5.4 Sous-Programme de Suppression d'un Noeud111
      • 5.6 Conclusion112
      • 5.7 Exercices112
      • III Tris (Sorting) et Recherche (Search)115
      • 6 Tris (Sorting) et Recherche (Search) 117
      • 6.1 Recherche (Search)117
      • 6.1.1 Recherche du Minimum ou du Maximum d'un Tableau117
      • 6.1.2 Recherche d'une Valeur Quelconque118
      • 6.1.3 Recherche Dichotomique dans un Tableau Trié119
      • 6.2 Tri (Sorting)120
      • 6.2.1 Tri par Sélection (Selection Sort)120
      • 6.2.2 Tri par Insertion (Insertion Sort)122
      • 6.2.3 Tri à Bulles (Bubble Sort)124
      • 6.2.4 QuickSort (Tri Rapide)125
      • 6.3 Conclusion129
      • 6.4 Exercices129
      • 7 Heap Sort (Tri par Tas) 133
      • 7.1 Correspondance Tableau et Arbre Binaire Complet133
      • 7.2 Rendre Heap (Heapify MaxHeap)134
      • 7.3 Tri par Tas : Heap Sort135
      • 7.4 Conclusion138
      • 7.5 Exercices138
      • IV Programmation Orientée Objet (POO)141
      • 8 Classes et Objets 143
      • 8.1 Introduction143
      • 8.2 Définition d'une Classe143
      • 8.3 Classe et Prototype de Méthode146
      • 8.4 Interfaces : Sélecteur et Modificateur149
      • 8.5 Le Pointeur this150
      • 8.6 Classe et Projet151
      • 8.7 Surcharge de Fonction et de Méthode153
      • 8.8 Conclusion154
      • 8.9 Exercices154
      • 9 Constructeurs, Amitié et Surcharge d'Opérateurs 157
      • 9.1 Constructeurs157
      • 9.1.1 Constructeur157
      • 9.1.2 Surcharge de constructeurs160
      • 9.1.3 Initialisation d'un Objet162
      • 9.2 Destructeurs163
      • 9.3 Amitié (friend, friendship)164
      • 9.3.1 Fonction Amie164
      • 9.3.2 Classe Amie166
      • 9.4 Surcharge d'Opérateurs167
      • 9.5 Conclusion170
      • 9.6 Exercices170
      • 10 Héritage, Polymorphisme et Templates 173
      • 10.1 Héritage173
      • 10.1.1 Relations entre Classes : Dérivation et Composition173
      • 10.1.2 Héritage en C++175
      • 10.1.3 Héritage Multiple178
      • 10.2 Polymorphisme179
      • 10.2.1 Reliure Statique (Static Binding)179
      • 10.2.2 Fonction Virtuelle, Reliure Dynamique181
      • 10.2.3 Fonction Virtuelle Pure, Méthode et Classe Abstraites182
      • 10.2.4 Classe de Base Virtuelle183
      • 10.3 Templates185
      • 10.3.1 Template de Fonction185
      • 10.3.2 Template de Classe187
      • 10.4 Conclusion188
      • 10.5 Exercices188
      • Annexes190
      • A Mots Réservés et Opérateurs en C++ 191
      • A.1 C++ Keywords191
      • A.2 Opérateurs en C++192

  • Origine de la notice:
    • Electre
  • Disponible - 681.22(07) GUE 2

    Niveau 3 - Informatique