viernes, 16 de septiembre de 2011

Un curso de Algoritmos (en inglés)

Aprovecho para escribir este post porque me he dado a la tarea de revisar un poco la literatura sobre algoritmos en ciencias de la computación, encontrando un par de notas muy bien escritas, por lo que quise compartirla con mis amigos y seguidores.

1. Algorithms Course Materials (by Jeff Erickson)

Contenido (Lecture Notes)
    0. Introduction, history, and course goals
    Recursion
    1. Simplify and delegate
    2. Fast Fourier transforms 
    3. Backtracking
    4. Fast exponential-time algorithms 
    5. Dynamic programming
    6. Advanced dynamic programming tricks 
    7. Greedy algorithms
    8. Matroids 
    Randomization
    9. Nuts and bolts (randomized quicksort)
    10. Treaps and skip lists
    11. Tail inequalities 
    12. Uniform and universal hashing
    13. Randomized minimum cut
    Amortized analysis
    14. Aggregation, taxation, potential
    15. Scapegoat trees and splay trees
    16. Maintaining disjoint sets ("union-find") — includes O(α(n)) amortized analysis 
    Basic graph algorithms
    17. Representations, traversal
    18. Minimum spanning trees
    19. Single-source shortest paths
    20. All-pairs shortest paths
    Flows and cuts
    21. Maximum flows and minimum cuts
    22. Maximum flow algorithms
    23. Applications of maximum flow
    24. Extensions of maximum flow 
    Linear programming
    25. Definitions and duality 
    26. The simplex algorithm 
    Lower bounds
    27. Decision trees, leaf counting
    28. Adversary arguments ("n-card monte")
    29. NP-hardness
    30. Approximation algorithms
    Appendix
    II. Solving recurrences
    I. Induction proofs

    Nota: El curso tiene una gran cantidad de problemas propuestos (homeworks), te recomiendo que si te interesan los tópicos que en este de desarrollan visites: http://www.cs.uiuc.edu/~jeffe/teaching/algorithms/ para terminar de descargar toda la información correspondiente al curso.

    2. Fundamental Algorithms Lecture Notes (by Chee Yap)

    Nota: Muy parecido al anterior.

    3. Lecture Notes for Algorithm Analysis and Design (Sandeep Sen)

    Nota: Bastante completo, lo recomiendo ampliamente.

    4. Introduction to Computer Algorithms: Lecture Notes (Grzegorz Malewicz)

    Nota: Interesante, aunque pienso que le faltaron un par de temas importantes.

    Si te ha gustado este artículo, compártelo en facebook, twitter, google+, coméntalo, envíalo por correo, y si quieres mas información, pídela. Si no te gusta, critícalo. Tu tienes completo control sobre los contenidos de este blog.

    No hay comentarios:

    Publicar un comentario