tipos pilas estructura datos clasificacion caracteristicas algoritmos abstractos algorithm data-structures

algorithm - pilas - Algoritmos de aprendizaje y fundamentos de estructuras de datos



pilas estructura de datos (10)

¿Me puede recomendar un libro o (mejor) un sitio con muchos problemas difíciles y ejercicios sobre estructuras de datos?

Ya estoy respondiendo las preguntas del proyecto Euler, pero estas preguntas son interesantes, pero con algoritmos poco comunes. Apenas usé un árbol simple. Tal vez hay un sitio con ejercicios como: hey, necesitas calcular esto: .... Hazlo usando un árbol. Ahora hazlo usando una cremallera. Suba su solución C (Haskell, Lisp, incluso Pascal o Fortress go). ¡Oh, tu solución es tan lenta!

La autoeducación es muy difícil, entonces tratas de aprender cosas fundamentales muy comunes . ¿Cómo puedo ayudarme con ellos sin asistir a cursos o lo que sea?


Además de los ya mencionados Cormen, Leiserson y Rivest, también hay un libro muy nuevo de Peter Brass, "Advanced Data Structures" . Tiene un código de ejemplo relativamente feo en C, y el autor es algo fanático sobre el rendimiento (por ejemplo, no usa recursividad), pero el contenido teórico de ese libro es brillante y único, apenas se cruza con Cormen. Espero que se convierta en un clásico.


Adicional al muy buen libro de texto Introducción a los Algoritmos, Tercera Edición, de Cormen, Leiserson, Rivest y Stein , recomendaría encarecidamente ver los videos disponibles en línea de las conferencias impartidas por Leiserson en el MIT . Si tienes el libro y las conferencias, es como si estuvieras estudiando en el MIT ;-)

http://videolectures.net/mit6046jf05_introduction_algorithms/


Esto tiene que ser un duplicado.

Yo recomendaría el sitio de cursos abiertos de MIT here . Hay cursos de algoritmos en la sección "Ingeniería eléctrica e informática" en algún punto de la página.

6.006 - Introduction to Algorithms 6.046J - Introduction to Algorithms (SMA 5503)

Recomiendo lo último. Los materiales están en el sitio. Es probable que los videos sean más accesibles desde YouTube here : busque "mit algorithms". El libro de texto es muy respetado. La tercera edición acaba de salir, la segunda edición coincide con el curso. La primera edición también se incluyó como parte de Algoritmos del Dr. Dobbs y CD ROM de Data Structures .

Niklaus Wirth tiene un libro de Algoritmos y Estructuras de datos disponible para su descarga desde su sitio personal . Tengo la versión impresa de Modula 2, y si bien no es un sustituto de Cormen (o aho hopcroft ullman , etc.) es un buen libro para tener.


Impresionante libro electrónico gratuito «« Estructuras de datos y algoritmos ». Contiene la implementación de los algoritmos comunes en pseudocódigo y en una forma explícita. Además, esquemas y gráficos bastante agradables e inteligibles.

Incluso Jon Skeet lo mencionó en su blog. :-)

Además, este es un libro de menos de 100 páginas (como sabrá, muchos programadores no leen algunos libros ).



Si desea una alternativa esclarecedora para los algoritmos de aprendizaje, siempre puede probar: Algoritmos Rabhi F., Lapalme G. ... un enfoque de programación funcional .

Los autores cuestionan los métodos más tradicionales de enseñanza de algoritmos mediante el uso de un contexto de programación funcional, con Haskell como el lenguaje de implementación. Esto conduce a programas más pequeños, más claros y más elegantes que permiten al programador comprender el algoritmo en sí más rápidamente y utilizar esa comprensión para explorar soluciones alternativas. Poniendo el énfasis en el desarrollo del programa en lugar de las propiedades matemáticas de los algoritmos, el libro utiliza una sucesión de ejemplos de programación práctica para desarrollar en el lector habilidades de resolución de problemas que pueden transferirse fácilmente a otros paradigmas del lenguaje. A otros paradigmas del lenguaje.

En cuanto a un sitio con ejercicios (duros), siempre puedes tratar de resolver, lo recomiendo: spoj .


Un buen libro de texto con ejercicios al final parece ser la mejor manera de hacerlo.


Video conferencias por el Programa Nacional de Aprendizaje Mejorado de Tecnología (NPTel) en el canal NPTEL de YouTube . Estos están siendo llevados a cabo por siete IIT e IISc Bangalore de la India y financiados por MHRD, Gobierno de la India.

Muchas más conferencias de ingeniería .



http://www.youtube.com/watch?v=QMV45tHCYNI

CS 61B: Estructuras de datos - Otoño de 2006

Instructor: Jonathan Shewchuk

Estructuras de datos dinámicas fundamentales, incluidas listas lineales, colas, árboles y otras estructuras vinculadas; series de arreglos y tablas hash. Administración de almacenamiento. principios elementales de la ingeniería de software. Tipos de datos abstractos. Algoritmos de ordenación y búsqueda. Introducción al lenguaje de programación Java.

También puedes leer este libro para Algoritmos.

http://www.amazon.com/Data-Structures-Algorithms-Made-Easy/dp/1466304162