Una respuesta a la primera pregunta:
Hay un libro, llamado Algorithms + Data Structures = Programs, de Niklaus Wirth, publicado por primera vez en 1975, actualizado y reimpreso en 1985, página en ethoberon.ethz.ch. Acabo de revisar brevemente esta versión antes de escribir esta respuesta, ahora parece algo anticuada debido al uso del propio lenguaje de programación de Wirth, Oberon, para los ejemplos. Sin embargo, creo que el título captura la relación fundamental entre algoritmos y estructuras de datos y programas.
Un algoritmo es un procedimiento paso a paso para realizar un cálculo. Véase, por ejemplo, Introducción a los algoritmos de Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest y Clifford Stein.
- ¿Cuáles son los algoritmos de clasificación considerados algoritmos codiciosos?
- ¿Cuáles son algunas de las implementaciones de cola (montón) de prioridad más rápida en C ++?
- ¿Cuál es la diferencia entre el recorrido del gráfico dirigido y el no dirigido (específicamente en C)?
- ¿Cuál es una versión más amigable para principiantes de CLRS para algoritmos de aprendizaje? ¿Estaría rompiendo la entrevista de codificación?
- ¿Se utiliza una estructura de datos de pila para algoritmos multirecursionales?
Típicamente, el cálculo realizado por el algoritmo operará sobre datos, y las estructuras de datos son formas particulares de organizar los datos en la computadora, desde una simple lista hasta una base de datos relacional.
Entonces, los temas “estructura de datos” y “algoritmo” siempre están conectados de alguna manera.
Una respuesta a la segunda pregunta:
No en realidad no.
Dado que tiene algoritmos que manipulan las estructuras de datos, la mayoría de los libros que tratan con estructuras de datos necesariamente contienen algoritmos. Por ejemplo:
- Estructuras de datos en C: Noel Kalicharan: 9781438253275: Amazon.com: Libros
- Estructuras de datos y algoritmos: Alfred V. Aho, Jeffrey D. Ullman, John E. Hopcroft: 9780201000238: Amazon.com: Libros
- Estructuras de datos avanzadas: Peter Brass: 9780521880374: Amazon.com: Libros
Para un curso, pruebe Advanced Data Structures, parte de los Materiales del curso en línea en OpenCourseWare del MIT.