
Structures de données facilement écrivables en langage C
Description
Introduction au livre
La troisième édition révisée, tout comme la première, vise à aider les apprenants à comprendre plus facilement les structures de données, en mettant particulièrement l'accent sur les domaines suivants :
L'ordre du texte original a été modifié afin d'aider les débutants à comprendre plus facilement les concepts des structures de données.
Les piles et les files d'attente, que l'on peut considérer comme des structures de données de base, sont placées au début.
Les débutants peuvent comprendre ce que sont les structures de données grâce aux piles et aux files d'attente, puis passer à des structures de données plus complexes telles que les listes chaînées et les arbres.
Les pointeurs doubles ont été supprimés du code autant que possible.
Car pour les débutants, les doubles pointeurs sont un cauchemar.
Si le pointeur externe est modifié à l'intérieur de la fonction, celle-ci renvoie le pointeur modifié.
De nouveaux exemples d'application ont été ajoutés et les exemples trop complexes ont été supprimés.
J'ai toujours essayé de fournir des exemples d'application pratiques et précis.
Dans tous les exemples, les valeurs d'entrée et de sortie sont indiquées.
Nous avons essayé autant que possible de proposer des programmes complets plutôt que des programmes fragmentés.
Les objectifs d'apprentissage sont présentés au début de chaque chapitre.
Après avoir terminé chaque chapitre, les apprenants peuvent vérifier s'ils ont atteint les objectifs d'apprentissage.
De plus, comme les compétences en résolution de problèmes sont requises des apprenants, ces compétences peuvent être améliorées en effectuant des exercices pratiques dans chaque chapitre.
— Extrait de la préface
L'ordre du texte original a été modifié afin d'aider les débutants à comprendre plus facilement les concepts des structures de données.
Les piles et les files d'attente, que l'on peut considérer comme des structures de données de base, sont placées au début.
Les débutants peuvent comprendre ce que sont les structures de données grâce aux piles et aux files d'attente, puis passer à des structures de données plus complexes telles que les listes chaînées et les arbres.
Les pointeurs doubles ont été supprimés du code autant que possible.
Car pour les débutants, les doubles pointeurs sont un cauchemar.
Si le pointeur externe est modifié à l'intérieur de la fonction, celle-ci renvoie le pointeur modifié.
De nouveaux exemples d'application ont été ajoutés et les exemples trop complexes ont été supprimés.
J'ai toujours essayé de fournir des exemples d'application pratiques et précis.
Dans tous les exemples, les valeurs d'entrée et de sortie sont indiquées.
Nous avons essayé autant que possible de proposer des programmes complets plutôt que des programmes fragmentés.
Les objectifs d'apprentissage sont présentés au début de chaque chapitre.
Après avoir terminé chaque chapitre, les apprenants peuvent vérifier s'ils ont atteint les objectifs d'apprentissage.
De plus, comme les compétences en résolution de problèmes sont requises des apprenants, ces compétences peuvent être améliorées en effectuant des exercices pratiques dans chaque chapitre.
— Extrait de la préface
indice
Chapitre 1 : Structures de données et algorithmes
1.1 Structures de données et algorithmes
1.2 Types de données abstraits
1.3 Analyse des performances de l'algorithme
■ Exercices pratiques
Chapitre 02 Circulation
2.1 Introduction à la circulation
2.2 Calcul des exposants
2.3 Calcul de la suite de Fibonacci
2.4 Problème des tours de Hanoï
■ Exercices pratiques
Chapitre 3 : Tableaux, structures et pointeurs
3.1 Tableau
3.2 Structure
3.3 Applications des tableaux : polynômes
3.4 Applications des tableaux : matrices creuses
3,5 points
3.6 Allocation dynamique de mémoire
■ Exercices pratiques
Chapitre 04 Pile
4.1 Qu'est-ce qu'une pile ?
4.2 Implémentation de la pile
4.3 Pile de tableaux dynamiques
4.4 Application de la pile : le problème de vérification des parenthèses
4.5 Applications de la pile : Calcul des expressions postfixées
4.6 Application des piles : Problèmes de labyrinthe
■ Exercices pratiques
File d'attente du chapitre 05
5.1 Type de données abstrait de file d'attente
5.2 File d'attente linéaire
5.3 File d'attente circulaire
5.4 Applications des files d'attente : tampons
5.5 Qu'est-ce qu'un deck ?
5.6 Applications des files d'attente : simulation
■ Exercices pratiques
Chapitre 6 Liste chaînée I
6.1 Type de données abstrait de liste
6.2 Listes implémentées sous forme de tableaux
6.3 Liste chaînée
6.4 Liste simplement chaînée
6.5 Implémentation des opérations sur une liste simplement chaînée
6.6 Applications des listes chaînées : polynômes
■ Exercices pratiques
Chapitre 7 Liste chaînée II
7.1 Liste chaînée circulaire
7.2 Où utilise-t-on les listes chaînées circulaires ?
7.3 Listes doublement chaînées
7.4 Exemple : Création d'un programme de lecteur MP3
7.5 Pile implémentée avec une liste chaînée
7.5 File d'attente implémentée avec une liste chaînée
■ Exercices pratiques
Chapitre 08 Arbre
8.1 Concept d'arbre
8.2 Introduction aux arbres binaires
8.3 Représentation des arbres binaires
8.4 Parcours d'un arbre binaire
8.5 Parcours récursif
Visite du niveau 8.6
8.7 Applications des arbres : Traitement des arbres de formules
8.8 Application des arbres : Calcul de la capacité d’un répertoire
8.9 Opérations supplémentaires sur les arbres binaires
8.10 Arbre binaire à plusieurs fils
8.11 Arbre binaire de recherche
8.12 Applications des arbres binaires de recherche : dictionnaire anglais
■ Exercices pratiques
Chapitre 09 File d'attente prioritaire
9.1 Type de données abstrait de file d'attente prioritaire
9.2 Comment implémenter une file d'attente prioritaire
9,3 Hanches
9.4 Implémentation du tas
9.5 Tri par tas
9.6 Planification des machines
9.7 Code de Huffman
■ Exercices pratiques
Chapitre 10 Graphiques I
10.1 Qu'est-ce qu'un graphique ?
10.2 Définition et terminologie des graphiques
10.3 Comment représenter des graphiques
10.4 Exploration des graphiques
10.5 Recherche en profondeur
10.6 Recherche en largeur
■ Exercices pratiques
Chapitre 11 Graphique II
11.1 Arbre couvrant de coût minimal
11.2 Algorithme de Kruskal pour l'arbre couvrant minimal
11.3 Algorithme MST de Prim
11.4 Chemin le plus court
11.5 Algorithme de Dijkstra pour le plus court chemin
11.6 Algorithme du plus court chemin de Floyd
11.7 Tri topologique
■ Exercices pratiques
Chapitre 12 Tri
12.1 Qu'est-ce que le tri ?
12.2 Tri par sélection
12.3 Tri par insertion
12.4 Tri à bulles
12.5 Tri de coquilles
12.6 Tri fusion
12.7 Tri rapide
12.8 Tri par tas
Ordre de révision 12.9
12.10 Comparaison des algorithmes de tri
12.11 Application du tri : Tri pour un dictionnaire anglais
■ Exercices pratiques
Chapitre 13 Exploration
13.1 Qu'est-ce que la navigation ?
13.2 Recherche dans un tableau non trié
13.3 Recherche dans un tableau trié
13.4 Arbre binaire de recherche
Arbre AVL 13,5
13.6 2-3 arbres
13.7 2-3-4 arbre
■ Exercices pratiques
Chapitre 14 Hachage
14.1 Qu'est-ce que le hachage ?
14.2 Dictionnaire abstrait des types de données
14.3 Structure de hachage
14.4 Fonctions de hachage
14.5 Loi sur la transparence des adresses
14.6 Chaînage
14.7 Analyse des performances de hachage
14.8 Applications du hachage
■ Exercices pratiques
■Recherche
1.1 Structures de données et algorithmes
1.2 Types de données abstraits
1.3 Analyse des performances de l'algorithme
■ Exercices pratiques
Chapitre 02 Circulation
2.1 Introduction à la circulation
2.2 Calcul des exposants
2.3 Calcul de la suite de Fibonacci
2.4 Problème des tours de Hanoï
■ Exercices pratiques
Chapitre 3 : Tableaux, structures et pointeurs
3.1 Tableau
3.2 Structure
3.3 Applications des tableaux : polynômes
3.4 Applications des tableaux : matrices creuses
3,5 points
3.6 Allocation dynamique de mémoire
■ Exercices pratiques
Chapitre 04 Pile
4.1 Qu'est-ce qu'une pile ?
4.2 Implémentation de la pile
4.3 Pile de tableaux dynamiques
4.4 Application de la pile : le problème de vérification des parenthèses
4.5 Applications de la pile : Calcul des expressions postfixées
4.6 Application des piles : Problèmes de labyrinthe
■ Exercices pratiques
File d'attente du chapitre 05
5.1 Type de données abstrait de file d'attente
5.2 File d'attente linéaire
5.3 File d'attente circulaire
5.4 Applications des files d'attente : tampons
5.5 Qu'est-ce qu'un deck ?
5.6 Applications des files d'attente : simulation
■ Exercices pratiques
Chapitre 6 Liste chaînée I
6.1 Type de données abstrait de liste
6.2 Listes implémentées sous forme de tableaux
6.3 Liste chaînée
6.4 Liste simplement chaînée
6.5 Implémentation des opérations sur une liste simplement chaînée
6.6 Applications des listes chaînées : polynômes
■ Exercices pratiques
Chapitre 7 Liste chaînée II
7.1 Liste chaînée circulaire
7.2 Où utilise-t-on les listes chaînées circulaires ?
7.3 Listes doublement chaînées
7.4 Exemple : Création d'un programme de lecteur MP3
7.5 Pile implémentée avec une liste chaînée
7.5 File d'attente implémentée avec une liste chaînée
■ Exercices pratiques
Chapitre 08 Arbre
8.1 Concept d'arbre
8.2 Introduction aux arbres binaires
8.3 Représentation des arbres binaires
8.4 Parcours d'un arbre binaire
8.5 Parcours récursif
Visite du niveau 8.6
8.7 Applications des arbres : Traitement des arbres de formules
8.8 Application des arbres : Calcul de la capacité d’un répertoire
8.9 Opérations supplémentaires sur les arbres binaires
8.10 Arbre binaire à plusieurs fils
8.11 Arbre binaire de recherche
8.12 Applications des arbres binaires de recherche : dictionnaire anglais
■ Exercices pratiques
Chapitre 09 File d'attente prioritaire
9.1 Type de données abstrait de file d'attente prioritaire
9.2 Comment implémenter une file d'attente prioritaire
9,3 Hanches
9.4 Implémentation du tas
9.5 Tri par tas
9.6 Planification des machines
9.7 Code de Huffman
■ Exercices pratiques
Chapitre 10 Graphiques I
10.1 Qu'est-ce qu'un graphique ?
10.2 Définition et terminologie des graphiques
10.3 Comment représenter des graphiques
10.4 Exploration des graphiques
10.5 Recherche en profondeur
10.6 Recherche en largeur
■ Exercices pratiques
Chapitre 11 Graphique II
11.1 Arbre couvrant de coût minimal
11.2 Algorithme de Kruskal pour l'arbre couvrant minimal
11.3 Algorithme MST de Prim
11.4 Chemin le plus court
11.5 Algorithme de Dijkstra pour le plus court chemin
11.6 Algorithme du plus court chemin de Floyd
11.7 Tri topologique
■ Exercices pratiques
Chapitre 12 Tri
12.1 Qu'est-ce que le tri ?
12.2 Tri par sélection
12.3 Tri par insertion
12.4 Tri à bulles
12.5 Tri de coquilles
12.6 Tri fusion
12.7 Tri rapide
12.8 Tri par tas
Ordre de révision 12.9
12.10 Comparaison des algorithmes de tri
12.11 Application du tri : Tri pour un dictionnaire anglais
■ Exercices pratiques
Chapitre 13 Exploration
13.1 Qu'est-ce que la navigation ?
13.2 Recherche dans un tableau non trié
13.3 Recherche dans un tableau trié
13.4 Arbre binaire de recherche
Arbre AVL 13,5
13.6 2-3 arbres
13.7 2-3-4 arbre
■ Exercices pratiques
Chapitre 14 Hachage
14.1 Qu'est-ce que le hachage ?
14.2 Dictionnaire abstrait des types de données
14.3 Structure de hachage
14.4 Fonctions de hachage
14.5 Loi sur la transparence des adresses
14.6 Chaînage
14.7 Analyse des performances de hachage
14.8 Applications du hachage
■ Exercices pratiques
■Recherche
SPÉCIFICATIONS DES PRODUITS
- Date de publication : 22 février 2019
Nombre de pages, poids, dimensions : 574 pages | 1 550 g | 215 × 275 × 35 mm
- ISBN13 : 9788970509716
- ISBN10 : 8970509712
Vous aimerez peut-être aussi
카테고리
Langue coréenne
Langue coréenne