algorithm - pseudocodigo - ¿Hay una visión general de los algoritmos más comunes?
que es un algoritmo computacional (14)
Estoy buscando una visión general de los algoritmos, que necesita de vez en cuando. Si hay un problema, reinventa la rueda o pasa mucho tiempo buscando un algoritmo para un problema común conocido que se ha resuelto cien veces antes.
El mejor sería un sitio web con algoritmos ordenados, como:
- Compresión
- ...
- Descifrado
- ...
- Cifrado
- Symetric
- ...
- ASimétrico
- ...
- Symetric
- Buscar
- ...
- Ordenar
- Ordenamiento de burbuja
- Ordenación rápida
- ...
Creo que entiendes lo que quiero decir.
¿Qué páginas sabes?
¿Qué hay de la lista de algoritmos de wikipedia ?
¿Qué tal el Diccionario de Algoritmos y Estructuras de Datos del NIST?
CLRS.
Es decir, el libro de texto "Introducción a los algoritmos" de Cormen, Leiserson, Rivest y Stein.
Le dará una buena visión general de los algoritmos más importantes para los propósitos más comunes, junto con un análisis sólido.
Un simple sitio web / lista sería un perjuicio si inspira una selección demasiado rápida de "cortar y pegar" sin una comprensión sólida.
Hay una serie de libros, "El arte de la programación de computadoras" que es bastante completo, si quieres algo en papel.
Recomiendo encarecidamente el libro "Algorithm Design Manual" de Steven Skiena. Tiene la estructura del catálogo que mencionas.
También tiene un buen Wikilibro en Algoritmos , referido por muchos artículos de algoritmos .
Además de secundar el Manual de Diseño de Algoritmos , he tenido una experiencia muy positiva con este libro:
Este libro es excelente:
El Manual de Diseño de Algoritmos
Esto se ha relacionado en otras respuestas, pero es un buen recurso:
Además del Manual de diseño de algoritmos , está el depósito de algoritmos Stony Brook en línea gestionado por el autor, que enlaza con las implementaciones . Ambos tienen una excelente estructura de catálogo.
Princeton tiene algunas grandes conferencias públicas de R. Sedgewick, (el chico que hizo árboles negros de inclinación izquierda y los algoritmos del libro en C)
http://www.cs.princeton.edu/courses/archive/spring11/cos226/lectures.php
Preguntando "¿Hay una visión general de los algoritmos más comunes?" Es como preguntar si hay una visión general de las matemáticas o la ciencia común?
Los algoritmos son técnicas de resolución de problemas y matemática aplicada que se utilizan en muchos campos que requieren un enfoque sistemático para abordar problemas complejos como estos campos / aplicaciones:
Ingeniería Electrónica o Eléctrica:
Algos de procesamiento de imágenes
procesamiento de señales en general algos
Reducción de ruido, de analógico a digital
CS o TI:
Gestión de datos
seguridad (cifrado, detección de intrusos)
Aprendizaje automático
Finanzas, Investigación de Operaciones, Econometría:
Programación lineal
Programación dinámica
Estadísticas Algos y cálculo estocástico
Combinatrics
etc ....
Solo por nombrar algunos y arañar la superficie
Sin embargo, la mayoría de los algoritmos especializados se derivan de casos generales que se encuentran en CS, por lo que para responder a su pregunta, cualquier libro o tutorial que cubra Introducción al algoritmo debería estar bien.
Aquí hay un mínimo de algoritmos de CS comunes que he encontrado académicamente y profesionalmente 1) Clasificación (burbuja, inserción, fusión, rápido)
2) Buscar (dfs, bfs)
3) Estructuras de datos y algos que atraviesan estructuras de datos
4) Recursión vs Interación (se debe estudiar la Complejidad de la recursión, Teorema Maestro)
5) Árboles (Binario, N-ario, árbol Kd, árbol B)
6) Gráficos (Recorrido por dfs, bfs)
7) Hashing
8) Algos matemáticos comunes (GCD, exponenciación, diferentes multiplicaciones de matrices)
9) Árboles de expresión (construcción y recorrido)
10) Descripción general de algos de cifrado comunes como RSA, AES, etc.
Si estudias lo que mencioné anteriormente y conoces las complejidades de tiempo (notación O) eso cubre bastante todo lo que necesitas saber para los algoritmos de CS.
Recomiendo "Introducción a los algoritmos" por Cormen, etal. MIT Press
Los algoritmos más comunes están incluidos en Boost . Aquí puede encontrar los algoritmos más comunes para ordenar, buscar o de otra manera. El uso de algoritmos está estrechamente relacionado con el uso de un lenguaje de programación particular. Además de los libros anteriores, existe una buena URL como tutoriales en video de informática .
Mi elección de hecho es .com :)
Solo busque la palabra clave " algoritmo "; obtendrá toneladas de problemas.