JavaRush /Blog Java /Random-FR /Critique de livre : « Structures de données et algorithme...

Critique de livre : « Structures de données et algorithmes Java », Robert Laforet

Publié dans le groupe Random-FR
La force de chaque programmeur réside dans ses connaissances. Oui, la capacité de bien rechercher sur Google n'est pas non plus à la dernière place, mais néanmoins, il doit y avoir une certaine quantité de connaissances, sur la base desquelles se forme la façon de penser du développeur. Plus ces connaissances sont approfondies, plus un programmeur peut proposer des solutions intéressantes. Critique de livre : « Structures de données et algorithmes Java », Robert Laforet - 1L’une des parties d’une telle « base » sont constituées de structures de données et d’algorithmes. Comment pouvez-vous élargir vos connaissances dans ce sens ? En option, trouvez un livre dont les connaissances deviendront une réserve ignifuge et une base pour des études ultérieures. Pour moi, un tel livre était « Java Data Structures and Algorithms » de Robert Laforet .Critique de livre : « Structures de données et algorithmes Java », Robert Laforet - 2

Pour qui

Le public de ce livre peut être un très large éventail de personnes, car il sera utile à la fois à ceux qui viennent de maîtriser la syntaxe du langage Java et aux programmeurs en exercice, pour une compréhension plus approfondie des caractéristiques des structures de données et des algorithmes. .

À propos de quoi

Ce livre est consacré à l'étude et à l'utilisation des structures de données et des algorithmes en programmation. Il apprendra au lecteur comment les structures de données déterminent la manière dont les données sont organisées en mémoire, ainsi que comment les algorithmes effectuent diverses opérations sur ces structures. Creusons un peu plus et voyons de quoi parle exactement ce livre :
  1. Tableaux. Les opérations d'insertion, de recherche et de suppression dans les tableaux et les tableaux ordonnés sont traitées en détail. Démontre le fonctionnement de la recherche linéaire et binaire de tableaux ordonnés et non ordonnés. Vous apprendrez également ce qu'est la syntaxe O.
  2. Tri. Trois méthodes de tri simples sont considérées : le « tri à bulles », le « tri par sélection », le « tri par insertion ». Dans le livre, vous apprendrez lequel est le plus lent et lequel est le plus simple.
  3. Piles et files d'attente. Les structures de données telles que la pile, la file d'attente et la file d'attente prioritaire, leur efficacité et leur implémentation en Java sont prises en compte.
  4. Listes liées. Le livre parle des listes doublement liées et doublement liées, de leur efficacité et de la manière dont les opérations d'insertion, de recherche et de suppression sont effectuées. Les itérateurs et les méthodes dont ils ont besoin sont également couverts.
  5. Récursions. Les récursions sont prises en compte dans diverses situations, telles que : calculer des nombres triangulaires et des factorielles, construire des anagrammes, effectuer une recherche binaire récursive, résoudre le casse-tête de la Tour de Hanoï, implémenter le tri par fusion, résoudre le problème du sac à dos.
  6. Tris non triviaux. Des méthodes plus avancées sont envisagées : le tri Shell, le tri rapide et le tri par base, leurs algorithmes, leur efficacité.
  7. Arbres binaires. Les arbres de recherche binaires équilibrés sont considérés, leur fonctionnement, leurs opérations d'insertion et de suppression, les différents types de parcours, la recherche du minimum et du maximum, la recherche d'un successeur. Le Code Huffman sera également abordé.
  8. Arbres rouges et noirs. Nous considérons l'une des variétés d'arbres équilibrés les plus efficaces, leurs opérations de rotation et de changement de couleur nécessaires à l'équilibrage.
  9. Arbres 2-3-4. Les arbres de ce type sont décrits comme un exemple d'arbres à trajets multiples ; leur fonctionnement et leur relation avec les arbres B, qui sont utilisés pour le stockage de données externes, sont discutés.
  10. Tables de hachage. Le hachage et ses différentes méthodes sont abordés, telles que le sondage linéaire et quadratique, le double hachage et la méthode de chaînage. Vous pouvez également découvrir comment le hachage peut être utilisé pour organiser le stockage de fichiers externes.
  11. Pyramides. Il s'agit d'un type spécial d'arborescence utilisé pour implémenter efficacement les files d'attente prioritaires. Le livre traite des mécanismes de fonctionnement de l'insertion, de la suppression et du réarrangement. Vous apprendrez également ce qu'est la permutation pyramidale et comment elle peut être implémentée en Java.
  12. Graphiques. Des graphiques pondérés et non pondérés, des algorithmes pour les parcourir et des algorithmes utilisés pour trouver les chemins de traversée les plus courts sont présentés.
Pour plus de clarté, chaque chapitre fournit sa propre implémentation de la structure de données en question. Par exemple, s'il s'agit d'une liste à chaînage unique, un exemple de classe qui implémente la fonctionnalité décrite sera donné. Le dernier chapitre du livre, s'appuyant sur les connaissances acquises dans les chapitres précédents, commence à rassembler toutes les connaissances en une seule image. Par exemple, vous pourrez vous faire une idée claire de quelle structure de données utiliser dans quelle situation : Critique de livre : « Structures de données et algorithmes Java », Robert Laforet - 3Il y a aussi de petits exercices à la fin de chaque chapitre. Certains d'entre eux impliquent de faire des choses avec l' application Workshop , tandis que d'autres vous confient de petites tâches directement dans le code.

Que sont les applications d'atelier

Les applications d'atelier sont utilisées pour démontrer ces structures et algorithmes . Les applications sont conçues sous forme d'applets Java pouvant être exécutées dans un navigateur. Les applications d'atelier créent des diagrammes graphiques qui montrent le fonctionnement d'un algorithme ou d'une structure de données. Par exemple, dans une application conçue pour afficher des colonnes triées par ordre croissant, chaque fois que vous cliquez sur un bouton de l'histogramme, l'étape suivante sera effectuée. Dans ce cas, les valeurs des variables impliquées dans cet algorithme seront affichées afin que vous puissiez voir comment le code est exécuté (ce qui rappelle la description d' un débogueur , non ?).

Comment télécharger et installer Atelier

  1. Vous pouvez télécharger des applets ici . Critique de livre : « Structures de données et algorithmes Java », Robert Laforet - 4
  2. Cliquez sur WorkshopApplets.ZIP et téléchargez l'archive avec les applets.
  3. Pour comprendre les applets, vous pouvez lire cette rubrique et ses commentaires.

Avantages du livre

  • très facile à lire, de nombreux exemples sont expliqués presque « sur les doigts » ;
  • ouvre les yeux sur de nombreuses choses « classiques », sans utiliser de formules mathématiques complexes. Eh bien, presque sans eux :)
  • Bien que les exemples soient en Java, les actions qui se produisent dans le code sont expliquées en détail par le texte suivant et les commentaires dans le code. Par conséquent, il peut être lu par un utilisateur de n’importe quel langage de programmation, puisque les exemples de code sont assez simples : ils se lisent presque comme un pseudocode.

Inconvénients du livre

  • Malgré l'explication "sur les doigts", il y a des lacunes. Pour expliquer le tri par tableau, l'auteur dessine l'image d'une équipe de football, mais le tri Shell n'y est pratiquement pas décrit : je n'ai pas pu le comprendre et le lire sur Internet ;
  • Il peut y avoir des fautes de frappe, généralement dans les images ou les tableaux ;
  • certains codes sont assez obsolètes.

Analogues

Je recommande des analogues de ce livre ou de ceux qui le suivent (pour ceux qui souhaitent continuer leurs études) :
  • « Algorithmes en Java » par Robert Sedgwick ;
  • « Algorithmes : construction et analyse » par Thomas Cormen.

Conclusion

Le livre présente peu d'inconvénients, il vaut donc vraiment la peine d'être lu. Il explique clairement de nombreux sujets fondamentaux, tels que les différentes sortes, tableaux, arbres, collections, graphiques, etc. Étant donné que le livre n'est pas fortement lié à Java , la base de connaissances acquise en l'étudiant sera utile dans d'autres langages de programmation. Doit avoir, doit lire - si vous êtes un développeur.Critique de livre : « Structures de données et algorithmes Java », Robert Laforet - 6
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION