Passer aux informations sur le produit
Des structures de données qui tiennent en un seul endroit
Des structures de données qui tiennent en un seul endroit
Description
Introduction au livre
La meilleure façon d'apprendre facilement les structures de données : avec un minimum de théorie et un maximum de compréhension.

Sans formules mathématiques complexes ni théories abstraites, l'essence des structures de données est expliquée de manière simple et ludique, avec des exemples concrets amusants, des illustrations et un code ne contenant que l'essentiel.
Il guide systématiquement les développeurs à travers les structures de données qu'ils doivent connaître, notamment les tableaux, la notation Big-O, les listes chaînées, les piles, les files d'attente, les tas, les arbres binaires de recherche et les graphes.
Vous pouvez aussi développer naturellement un sens du choix de la structure.
Si vous souhaitez acquérir de solides bases en tant que développeur, vous préparer aux tests de codage ou mieux utiliser les structures de données dans votre travail, ce livre sera un excellent point de départ.
Commençons dès maintenant le cours de structures de données le plus convivial au monde.
  • Vous pouvez consulter un aperçu du contenu du livre.
    Aperçu

indice
Préface du traducteur ix
Avis du lecteur bêta x
Recommandation xii
Préface xiv
Remerciements xvi
À propos de ce livre xviii

CHAPITRE 01 Introduction aux structures de données : Pourquoi apprendre les structures de données ? 1
Bienvenue 1
Qu'est-ce qu'une structure de données ? 3
Pourquoi devriez-vous vous soucier des structures de données ? 4
Comment utiliser les structures de données dans un projet ? 8
Résumé 14

CHAPITRE 02 Tableaux statiques : le point de départ des structures de données 15
Qu'est-ce qu'un tableau ? 15
Tableaux en Python 21
Utilisation des tableaux 23
Utilisations pratiques des tableaux 28
Résumé 31

CHAPITRE 03 Tableaux triés : Recherches rapides et gestion efficace des données 33
Que signifie un tableau trié ? 33
Implémentation d'un tableau trié 34
Résumé 41

CHAPITRE 04 Notation Big-O : Fondements de l’efficacité algorithmique 43
Comment faire le meilleur choix ? 43
Notation grand O 46
Exemple 55 d'analyse asymptotique
Résumé 59

CHAPITRE 05 Tableaux dynamiques : structures de données à redimensionnement flexible 60
Limitations des réseaux statiques 61
Comment puis-je augmenter la taille d'un tableau ? 63
Vitrine à trophées 63
Dois-je également réduire la taille du tableau ? 68
Implémentation des tableaux dynamiques 71
Résumé 76

CHAPITRE 06 Listes chaînées : Collections flexibles et dynamiques 77
Liste chaînée vs.
Tableau 78
Liste chaînée simple 80
Liste chaînée triée 88
Liste doublement chaînée 90
Liste chaînée circulaire 97
Résumé 100

CHAPITRE 07 Types de données abstraits : Principes de conception des conteneurs simples 102
Types de données abstraits vs.
Structures de données 103
Conteneur 108
Le contenant le plus basique : Sac 110
Résumé 115

CHAPITRE 08 Pile : une structure d’empilement pour le traitement des données 117
Pile en tant que type de données abstrait 118
La pile comme structure de données 121
Implémentation de liste chaînée 124
Théorie et Réalité 127
Application de piles supplémentaires 129
Résumé 133

CHAPITRE 09 Pile : une structure d’empilement pour le traitement des données 117
File d'attente en tant que type de données abstrait 134
Les files d'attente en tant que structures de données 138
Mise en œuvre 144
Qu'en est-il des tableaux dynamiques ? 150
Autres applications des files d'attente 152
Résumé 153

CHAPITRE 10 : Structures d’empilement pour le traitement des données 117
Extension de la file d'attente avec la priorité 154
Utilisation des files de priorité comme structures de données 157
Hanches 160
Implémentation du tas 163
Applications pratiques des files d'attente prioritaires 173
Résumé 175

CHAPITRE 11 : Piles : une structure d’empilement pour le traitement des données 117
Qu'est-ce qu'un arbre ? 176
Arbre binaire de recherche 180
Arbre équilibré 192
Résumé 195

CHAPITRE 12 Dictionnaires et tables de hachage : Construction et utilisation de tableaux associatifs 196
Problème de dictionnaire 197
Structures de données implémentant des dictionnaires 199
Table de hachage 201
Hachage 204
Résolution des conflits 206
Résumé 213

CHAPITRE 13 Graphiques : Modélisation efficace des relations complexes 214
Qu'est-ce qu'un graphique ? 214
Implémentation graphique 221
Exploration de graphiques 225
Étape 232 restante
Résumé 233

Recherche 235

Image détaillée
Image détaillée 1

Dans le livre
Si vous lisez ce livre, vous savez probablement que nous vivons dans ce que l'on appelle communément « l'ère des données ».
À notre époque, les données sont devenues un élément indispensable de nos vies et, grâce aux progrès technologiques, la vitesse de production de l'information augmente de façon exponentielle plus que jamais auparavant.
Ce flux massif de données est en train de transformer notre façon de vivre, de travailler et même de communiquer entre nous.
Pour bien comprendre cette immense quantité d'informations et éviter d'être submergé par elles, nous avons besoin d'un moyen de les organiser efficacement.
C’est là que les structures de données entrent en jeu.
Les structures de données sont la manière dont les ordinateurs et les programmes stockent et organisent les informations, ce qui leur permet de gérer et de manipuler les données plus efficacement.

--- p.3

Après de nombreuses larmes et disputes, les parents de Kim ont finalement accepté de lui fournir une nouvelle vitrine pour exposer ses nouveaux trophées.
Mais il a posé une condition.
La vitrine actuelle ne peut être agrandie et doit être mise au rebut ; le coût d'achat d'une nouvelle vitrine et la mise au rebut de l'ancienne doivent être payés avec l'argent de la tirelire de Kim.
Si elle n'a pas assez d'argent pour acheter une nouvelle vitrine, elle n'aura d'autre choix que de se débarrasser de certains de ses vieux robots.
Kim n'a donc d'autre choix que de trouver la stratégie optimale pour économiser le plus d'argent possible à long terme (elle pourrait envisager d'utiliser des meubles modulaires).
C'est vrai, mais supposons, pour cette analogie, que nous ne proposions pas de solution modulaire.

--- p.64

L'équipe développe son premier jeu vidéo.
Un rapide coup d'œil au jeu révèle qu'il s'agit d'un jeu à défilement horizontal où le protagoniste se déplace de gauche à droite à l'intérieur d'un bâtiment, passant d'une pièce à l'autre.
L'équipe a conçu les pièces avec soin et a réalisé chacune d'elles individuellement.
Il ne reste plus qu'à modéliser la progression entre les pièces.
« Que devrions-nous faire avec ça ? » se demanda l'équipe.
Le framework utilisé par l'équipe fournit essentiellement une liste simplement chaînée, ce qui permet de gagner beaucoup de temps de développement.
Cependant, si une liste simplement chaînée est utilisée, le protagoniste du jeu ne peut aller que dans la pièce de droite et ne peut pas revenir en arrière.
--- p.92

Priyanka a récemment rejoint une start-up qui, vue de l'extérieur, semble absolument fantastique.
Leur mission lui parlait beaucoup, et la technologie d'IA développée par les fondateurs était également séduisante.
Mais elle ignorait qu'au-delà de sa technologie de base, l'infrastructure et l'organisation de l'entreprise étaient en ruine.
Elle ne disposait même pas d'un outil de gestion des tâches digne de ce nom, et sa liste de bugs à corriger se composait de post-it collés sur son bureau, son écran et sa petite table de cuisine.
Ainsi, « parcourir » les dossiers en attente impliquait de ramasser ces notes adhésives, de chercher dans tout le bureau, de déchiffrer l'écriture ou d'essayer de deviner qui les avait écrites.
Dans ces situations, il est plus facile de ne pas remarquer et d'oublier les bugs que de les corriger.
Après avoir manqué une semaine de corrections de bugs et reçu un avertissement alarmant, Priyanka n'en pouvait plus.

--- p.137

Mario a une bonne mémoire, mais maintenant qu'il a collectionné des centaines de cartes, il a du mal à se souvenir lesquelles il possède déjà et lesquelles il ne possède pas.
C'est particulièrement vrai lorsqu'on échange des cartes avec des amis, car il faut choisir rapidement une carte avant que l'autre personne ne la prenne.
Pour garder une longueur d'avance sur la concurrence, Mario prévoit d'utiliser une application mobile qui permettra aux joueurs de scanner une carte avec leur appareil photo et de voir en quelques secondes si cette carte fait déjà partie de leur collection et combien d'exemplaires ils en possèdent.
La principale caractéristique de cette application (outre l'expérience utilisateur et la reconnaissance d'objets) est le dictionnaire.
Un dictionnaire stocke des données avec une clé spécifique et récupère des données en fonction de cette clé.
Pour les cartes de baseball, vous pouvez utiliser le nom du joueur ou même une photo de la carte comme clé.
Dans cet exemple, la clé pourrait être associée à un attribut tel que le nombre d'exemplaires d'une carte que vous possédez, ou à des détails concernant la carte (informations sur l'équipe, statistiques, etc.).

--- p.197

D'après les informations recueillies par le directeur de campagne, le lapin est une star des réseaux sociaux, et obtenir son soutien pourrait changer le cours de l'élection.
Le quartier général de Tiger cherche à comprendre à quel point Rabbit s'est éloigné de ses amis.
Il souhaite également savoir quel est le chemin le plus court entre le tigre et le lapin.
Le plan consiste à commencer par un ami de Tiger, qui présentera Tiger à un autre de leurs amis, qui à son tour présentera Tiger à un autre de leurs amis, et ainsi de suite.
Ce processus est répété jusqu'à ce que le lapin soit atteint ; plus le chemin est court, moins il y a de personnes impliquées.
L'algorithme de recherche en largeur (BFS) fait exactement cela.
--- p.226

Avis de l'éditeur
La leçon la plus simple sur les structures de données, expliquée avec des images et des exemples.

Les structures de données sont un sujet essentiel dans l'apprentissage de la programmation.
Cependant, lorsqu'on essaie réellement d'étudier, on a souvent l'idée préconçue que c'est difficile et ennuyeux.
« Data Structures in a Nutshell » est un ouvrage d'introduction aux structures de données qui brise ces préjugés et permet à chacun d'aborder les structures de données de manière ludique.


Au lieu de formules mathématiques complexes ou d'explications abstraites, les concepts des structures de données sont expliqués à travers des exemples concrets et des illustrations intéressantes.
En apprenant systématiquement une à une les structures de données essentielles, notamment les tableaux, la notation Big-O, les listes chaînées, les piles, les files d'attente, les tas, les tables de hachage, les graphes et les arbres binaires de recherche, vous mémoriserez non seulement les concepts, mais vous serez également capable de répondre à des questions fondamentales telles que : « Pourquoi utiliser cette structure ? » et « Dans quelles situations est-elle adaptée ? »


En particulier, des analogies familières que l'on peut rencontrer dans la vie réelle, comme l'organisation d'une vitrine à trophées, la recherche de cartes de baseball, la gestion des stocks de boîtes et le triage des patients aux urgences, aident les lecteurs à se remémorer naturellement les concepts, et des illustrations intuitives ainsi qu'un code Python concis sont ajoutés pour faciliter la compréhension et la mise en pratique immédiates.


Ce livre constituera une première étape solide pour les débutants en développement, et une excellente opportunité pour les praticiens de réaffirmer leur compréhension des structures de données.
Il constituera un guide fiable non seulement pour les apprenants se préparant aux tests de codage, mais aussi pour les développeurs souhaitant utiliser efficacement les structures de données sur le terrain.


Les structures de données ne font plus peur.
En explorant les illustrations, les histoires et le code exécutable, vous constaterez que vous renforcez vos compétences fondamentales de développeur.


Contenu principal

● Principes et mise en œuvre des structures de base telles que les tableaux, les listes chaînées, les files d'attente et les piles
● Notation Big-O : à connaître absolument lors du choix d’une structure de données
● Données complexes traitées avec des files d'attente prioritaires et des tas
● Comprendre les arbres binaires de recherche et les arbres équilibrés qui facilitent la recherche
● Utilisation fréquente de tables de hachage et de graphes en pratique
● Tous les exemples sont implémentés directement en Python et mis en pratique.
SPÉCIFICATIONS DES PRODUITS
- Date d'émission : 26 septembre 2025
- Nombre de pages, poids, dimensions : 260 pages | 188 × 245 × 16 mm
- ISBN13 : 9791194587590

Vous aimerez peut-être aussi

카테고리