JavaRush /Blog Java /Random-ES /Reseña del libro: “Estructuras de datos y algoritmos de J...

Reseña del libro: “Estructuras de datos y algoritmos de Java”, Robert Laforet

Publicado en el grupo Random-ES
La fuerza de todo programador está en su conocimiento. Sí, la capacidad de buscar bien en Google tampoco está en el último lugar, pero, sin embargo, debe haber una cierta cantidad de conocimiento a partir del cual se forma la forma de pensar del desarrollador. Cuanto más profundo sea este conocimiento, más soluciones interesantes podrá encontrar un programador. Reseña del libro: “Estructuras de datos y algoritmos Java”, Robert Laforet - 1Una de las partes de dicha "base" son las estructuras de datos y los algoritmos. ¿Cómo puedes ampliar tus conocimientos en esta dirección? Como opción, busque un libro cuyo conocimiento se convierta en una reserva incombustible y una base para estudios posteriores. Para mí, un libro así fue "Estructuras y algoritmos de datos Java" de Robert Laforet .Reseña del libro: “Estructuras de datos y algoritmos Java”, Robert Laforet - 2

Para quien

La audiencia de este libro puede ser una gama muy amplia de personas, porque será útil tanto para aquellos que acaban de dominar la sintaxis del lenguaje Java como para los programadores practicantes, para una comprensión más profunda de las características de las estructuras de datos y los algoritmos. .

Acerca de

Este libro está dedicado al estudio y uso de estructuras de datos y algoritmos en programación. Enseñará al lector cómo las estructuras de datos determinan la forma en que se organizan los datos en la memoria, así como cómo los algoritmos realizan diversas operaciones en estas estructuras. Profundicemos un poco más y veamos de qué trata exactamente este libro:
  1. Matrices. Las operaciones de inserción, búsqueda y eliminación en matrices y matrices ordenadas se tratan en detalle. Demuestra el funcionamiento de la búsqueda lineal y binaria de matrices ordenadas y desordenadas. También aprenderá qué es la sintaxis O.
  2. Clasificación. Se consideran tres métodos de clasificación simples: “clasificación por burbuja”, “clasificación por selección”, “clasificación por inserción”. Del libro aprenderás cuál es el más lento y cuál es el más simple.
  3. Pilas y colas. Se consideran estructuras de datos como pila, cola y cola de prioridad, su efectividad e implementación en Java.
  4. Listas enlazadas. El libro habla sobre listas doblemente vinculadas y doblemente vinculadas, su eficiencia y cómo se realizan las operaciones de inserción, búsqueda y eliminación. También se tratan los iteradores y los métodos que requieren.
  5. Recursiones. Las recursiones se consideran en diversas situaciones, tales como: calcular números triangulares y factoriales, construir anagramas, realizar búsquedas binarias recursivas, resolver el rompecabezas de la Torre de Hanoi, implementar la ordenación por fusión y resolver el problema de la mochila.
  6. Clasificaciones no triviales. Se consideran métodos más avanzados: clasificación de shell, clasificación rápida y clasificación por base, sus algoritmos y eficiencia.
  7. Árboles binarios. Se consideran árboles de búsqueda binarios equilibrados, cómo funcionan, sus operaciones de inserción y eliminación, varios tipos de recorrido, búsqueda de mínimo y máximo, búsqueda de un sucesor. También se cubrirá el Código Huffman.
  8. Árboles rojos y negros. Consideramos una de las variedades más efectivas de árboles equilibrados, sus operaciones de rotación y cambio de color son necesarias para el equilibrio.
  9. Árboles 2-3-4. Los árboles de este tipo se describen como un ejemplo de árboles de rutas múltiples; se analiza su funcionamiento y relación con los árboles B, que se utilizan para el almacenamiento externo de datos.
  10. Tablas hash. Se cubren el hash y sus diversos métodos, como el sondeo lineal y cuadrático, el hash doble y el método de encadenamiento. También puede aprender cómo se puede utilizar el hash para organizar el almacenamiento de archivos externo.
  11. Pirámides. Este es un tipo especial de árbol que se utiliza para implementar colas de prioridad de manera eficiente. El libro analiza los mecanismos de operación de inserción, eliminación y reordenamiento. También aprenderá qué es la permutación piramidal y cómo se puede implementar en Java.
  12. Gráficos. Se presentan gráficos ponderados y no ponderados, algoritmos para buscarlos y algoritmos utilizados para encontrar los caminos transversales más cortos.
Para mayor claridad, cada capítulo proporciona su propia implementación de la estructura de datos en cuestión. Por ejemplo, si se trata de una lista enlazada individualmente, se proporcionará un ejemplo de una clase que implementa la funcionalidad descrita. El último capítulo del libro, basándose en el conocimiento adquirido en los capítulos anteriores, comienza a recopilar todo el conocimiento en una sola imagen. Por ejemplo, podrá hacerse una idea clara de qué estructura de datos utilizar en cada situación: Reseña del libro: “Estructuras de datos y algoritmos Java”, Robert Laforet - 3también hay pequeños ejercicios al final de cada capítulo. Algunos de ellos implican hacer cosas con la aplicación Workshop , mientras que otros te dan pequeñas tareas directamente en el código.

¿Qué son las aplicaciones de taller?

Se utilizan aplicaciones de taller para demostrar estas estructuras y algoritmos . Las aplicaciones están diseñadas como subprogramas de Java que se pueden ejecutar en un navegador. Las aplicaciones de taller crean diagramas gráficos que muestran cómo funciona un algoritmo o estructura de datos. Por ejemplo, en una aplicación diseñada para mostrar columnas ordenadas en orden ascendente, cada vez que hace clic en un botón del histograma, se realizará el siguiente paso. En este caso se mostrarán los valores de las variables involucradas en este algoritmo para que puedas ver cómo se ejecuta el código (que recuerda a la descripción de un depurador , ¿no?).

Cómo descargar e instalar Taller

  1. Puede descargar subprogramas aquí . Reseña del libro: “Estructuras de datos y algoritmos Java”, Robert Laforet - 4
  2. Haga clic en WorkshopApplets.ZIP y descargue el archivo con applets.
  3. Para comprender los subprogramas, puede leer este tema y sus comentarios.

Ventajas del libro

  • muy fácil de leer, muchos ejemplos se explican casi “con los dedos”;
  • te abre los ojos a muchas cosas "clásicas", sin el uso de fórmulas matemáticas complejas. Bueno, casi sin ellos :)
  • Aunque los ejemplos están en Java, las acciones que ocurren en el código se explican con gran detalle en el texto siguiente y en los comentarios del código. Por lo tanto, puede ser leído por un usuario de cualquier lenguaje de programación, ya que los ejemplos de código son bastante simples: se leen casi como un pseudocódigo.

Contras del libro

  • A pesar de la explicación "en los dedos", hay lagunas en ella. Para explicar la clasificación de matrices, el autor hace un dibujo de un equipo de fútbol, ​​pero la clasificación de Shell prácticamente no se describe allí: no pude entenderlo ni leer sobre ello en Internet;
  • Puede haber errores tipográficos, normalmente en imágenes o tablas;
  • Algunos códigos están bastante desactualizados.

Análogos

Recomiendo análogos de este libro o los siguientes (para aquellos que quieran seguir estudiando):
  • “Algoritmos en Java” de Robert Sedgwick;
  • “Algoritmos: construcción y análisis” de Thomas Cormen.

Línea de fondo

El libro tiene pocas desventajas, por lo que realmente vale la pena leerlo. Explica claramente muchos temas básicos y fundamentales, como varios tipos, matrices, árboles, colecciones, gráficos, etc. Dado que el libro no está fuertemente vinculado a Java , la base de conocimientos obtenida al estudiarlo será útil en otros lenguajes de programación. Debe tenerlo, debe leerlo, si es desarrollador.Reseña del libro: “Estructuras de datos y algoritmos Java”, Robert Laforet - 6
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION