JavaRush /Java Blog /Random-IT /Recensione del libro: “Strutture dati e algoritmi Java”, ...

Recensione del libro: “Strutture dati e algoritmi Java”, Robert Laforet

Pubblicato nel gruppo Random-IT
La forza di ogni programmatore è nella sua conoscenza. Sì, anche la capacità di google bene non è all'ultimo posto, ma tuttavia deve esserci una certa conoscenza, sulla base della quale si forma il modo di pensare dello sviluppatore. Più approfondita è questa conoscenza, più soluzioni interessanti un programmatore può trovare. Recensione del libro: “Strutture dati e algoritmi Java”, Robert Laforet - 1Una delle parti di tale “base” sono le strutture dati e gli algoritmi. Come puoi espandere le tue conoscenze in questa direzione? Come opzione, trova un libro, la cui conoscenza diventerà una riserva ignifuga e una base per ulteriori studi. Per me, un libro del genere è stato “Java Data Structures and Algorithms” di Robert Laforet .Recensione del libro: “Strutture dati e algoritmi Java”, Robert Laforet - 2

Per chi

Il pubblico di questo libro può essere una gamma molto ampia di persone, perché sarà utile sia per coloro che hanno appena imparato la sintassi del linguaggio Java , sia per i programmatori praticanti, per una comprensione più profonda delle caratteristiche delle strutture dati e degli algoritmi .

Riguardo a cosa

Questo libro è dedicato allo studio e all'uso delle strutture dati e degli algoritmi nella programmazione. Insegnerà al lettore come le strutture dei dati determinano il modo in cui i dati sono organizzati in memoria, nonché come gli algoritmi eseguono varie operazioni su queste strutture. Scaviamo un po' più a fondo e vediamo di cosa tratta esattamente questo libro:
  1. Array. Le operazioni di inserimento, ricerca ed eliminazione negli array e negli array ordinati vengono trattate in dettaglio. Dimostra il funzionamento della ricerca lineare e binaria per array ordinati e non ordinati. Imparerai anche cos'è la sintassi O.
  2. Ordinamento. Vengono considerati tre semplici metodi di ordinamento: “bubble sort”, “selection sort”, “insertion sort”. Dal libro imparerai qual è il più lento e quale è il più semplice.
  3. Pile e code. Vengono prese in considerazione le strutture dati come stack, coda e coda di priorità, la loro efficacia e l'implementazione in Java.
  4. Elenchi collegati. Il libro parla degli elenchi con collegamento doppio e doppio, della loro efficienza e di come vengono eseguite le operazioni di inserimento, ricerca ed eliminazione. Vengono trattati anche gli iteratori e i metodi che richiedono.
  5. Ricorsioni. Le ricorsioni sono considerate in varie situazioni, come ad esempio: calcolo di numeri triangolari e fattoriali, costruzione di anagrammi, esecuzione di ricerche binarie ricorsive, risoluzione del puzzle della Torre di Hanoi, implementazione del merge sort, risoluzione del problema dello zaino.
  6. Ordinamenti non banali. Vengono considerati metodi più avanzati: Shell sort, quick sort e radix sort, i loro algoritmi, l'efficienza.
  7. Alberi binari. Vengono considerati gli alberi binari di ricerca bilanciati, come funzionano, le loro operazioni di inserimento e cancellazione, i vari tipi di attraversamento, ricerca del minimo e del massimo, ricerca del successore. Verrà trattato anche il Codice Huffman.
  8. Alberi rossi e neri. Consideriamo una delle varietà più efficaci di alberi bilanciati, le loro operazioni di rotazione e cambio colore necessarie per il bilanciamento.
  9. Alberi 2-3-4. Alberi di questo tipo sono descritti come un esempio di alberi multipercorso; vengono discussi il loro funzionamento e la relazione con gli alberi B, utilizzati per l'archiviazione di dati esterni.
  10. Tabelle hash. Vengono trattati l'hashing e i suoi vari metodi, come il sondaggio lineare e quadratico, il doppio hashing e il metodo di concatenamento. Puoi anche scoprire come utilizzare l'hashing per organizzare l'archiviazione di file esterni.
  11. Piramidi. Questo è un tipo speciale di albero utilizzato per implementare in modo efficiente le code con priorità. Il libro discute i meccanismi di funzionamento dell'inserimento, della cancellazione e del riarrangiamento. Imparerai anche cos'è la permutazione piramidale e come può essere implementata in Java.
  12. Grafici. Vengono presentati grafici ponderati e non ponderati, algoritmi per la ricerca al loro interno e algoritmi utilizzati per trovare i percorsi trasversali più brevi.
Per maggiore chiarezza ogni capitolo riporta la propria implementazione della struttura dati in questione. Ad esempio, se si tratta di una lista concatenata singola, verrà fornito un esempio di una classe che implementa la funzionalità descritta. L'ultimo capitolo del libro, basandosi sulle conoscenze acquisite dai capitoli precedenti, inizia a raccogliere tutta la conoscenza in un'unica immagine. Ad esempio, sarai in grado di farti un'idea chiara di quale struttura dati utilizzare in quale situazione: Recensione del libro: “Strutture dati e algoritmi Java”, Robert Laforet - 3alla fine di ogni capitolo ci sono anche piccoli esercizi. Alcuni prevedono l'esecuzione di operazioni con l' app Workshop , mentre altri ti assegnano piccoli compiti direttamente nel codice.

Cosa sono le app Workshop

Le applicazioni del workshop vengono utilizzate per dimostrare queste strutture e algoritmi . Le applicazioni sono progettate come applet Java che possono essere eseguite in un browser. Le applicazioni del workshop creano diagrammi grafici che mostrano come funziona un algoritmo o una struttura dati. Ad esempio, in un'applicazione progettata per visualizzare le colonne in ordine crescente, ogni volta che si fa clic su un pulsante nell'istogramma verrà eseguito il passaggio successivo. In questo caso verranno visualizzati i valori delle variabili coinvolte in questo algoritmo in modo da poter vedere come viene eseguito il codice (che ricorda la descrizione di un debugger , giusto?).

Come scaricare e installare Workshop

  1. Puoi scaricare le applet qui . Recensione del libro: “Strutture dati e algoritmi Java”, Robert Laforet - 4
  2. Fare clic su WorkshopApplets.ZIP e scaricare l'archivio con le applet.
  3. Per comprendere le applet, puoi leggere questo argomento e i relativi commenti.

Pro del libro

  • molto facile da leggere, molti esempi sono spiegati quasi “con le dita”;
  • apre gli occhi su molte cose “classiche”, senza l'uso di formule matematiche complesse. Beh, quasi senza di loro :)
  • Sebbene gli esempi siano in Java, le azioni che si verificano nel codice sono spiegate in grande dettaglio dal testo seguente e dai commenti nel codice. Pertanto, può essere letto da un utente di qualsiasi linguaggio di programmazione, poiché gli esempi di codice sono piuttosto semplici: si leggono quasi come uno pseudocodice.

Contro del libro

  • Nonostante la spiegazione "sulle dita", ci sono delle lacune. Per spiegare l'ordinamento dell'array, l'autore disegna un'immagine di una squadra di calcio, ma lì l'ordinamento della shell non è praticamente descritto: non sono riuscito a capirlo e a leggerlo su Internet;
  • Potrebbero esserci errori di battitura, solitamente nelle immagini o nelle tabelle;
  • alcuni codici sono piuttosto obsoleti.

Analoghi

Consiglio analoghi di questo libro o quelli che lo seguono (per chi vuole continuare a studiare):
  • “Algoritmi in Java” di Robert Sedgwick;
  • “Algoritmi: costruzione e analisi” di Thomas Cormen.

Linea di fondo

Il libro ha pochi contro, quindi vale davvero la pena leggerlo. Spiega chiaramente molti argomenti basilari e fondamentali, come vari ordinamenti, matrici, alberi, raccolte, grafici e così via. Poiché il libro non è fortemente legato a Java , la base di conoscenze acquisita studiandolo sarà utile in altri linguaggi di programmazione. Da avere, da leggere, se sei uno sviluppatore.Recensione del libro: “Strutture dati e algoritmi Java”, Robert Laforet - 6
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION