2009-01-20 12 views
27

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.¿Hay una descripción general de los algoritmos más comunes?

Mejor uno sería un sitio web con algoritmos ordenados, como:

  • compresión
    • ...
  • descifrado
    • ...
  • cifrado
    • Symetric
      • ...
    • asimétrico
      • ...
  • Buscar
    • ...
  • Ordenar
    • burbuja Ordenar
    • ordenación rápida
    • ...

Creo que se obtiene una sensación de lo que quiero decir .

¿Qué páginas conoces?

Respuesta

11
+0

Esto parece más útil para descubrir qué es un algoritmo de referencia, que (por ejemplo) tratando de descubrir qué algoritmos de cifrado puede haber. –

+0

También tiene un índice por área http://www.nist.gov/dads/termsArea.html#crypt –

2

Este libro es excelente:

The Algorithm Design Manual

Esto se ha relacionado en otras respuestas, pero es un buen recurso:

Skiena's Algorithms Lectures

+0

Además del Manual de diseño de algoritmos, está el depósito de algoritmos Stony Brook en línea gestionado por el autor, con el mismo catálogo estructura como el libro http://www.cs.sunysb.edu/~algorith/ – MarkJ

3

Hay una serie de libros, "El arte Of Computer Programming "que es bastante completo, si quieres algo en papel.

wikipedia entry

+1

+1 ¡Las descripciones de alto nivel, las implementaciones de bajo nivel y las páginas de matemáticas son excelentes almohadas! –

4

no te recomiendo el libro "Manual de Diseño de Algoritmos", de Steven Skiena. Tiene la estructura del catálogo que mencionas.

+1

Además del Manual de diseño de algoritmos, está el depósito de algoritmos de Stony Brook en línea gestionado por el autor, con la misma estructura de catálogo que el libro http://www.cs.sunysb.edu/~algorith/ – MarkJ

1

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.

0

Además de secundar The Algorithm Design Manual, he tenido una experiencia muy positiva con este libro:

Algorithms in a Nutshell

+0

, así como el algoritmo The Algorithm. Manual de diseño, está el depósito de algoritmos Stony Brook en línea gestionado por el autor, con la misma estructura de catálogo que el libro http://www.cs.sunysb.edu/~algorith/ – MarkJ

0

preguntar "¿Hay una visión general de los más algoritmos comunes? " Es como preguntar si hay una visión general de las matemáticas o la ciencia común?

ordenador Egineering o eléctricas::

algoritmos son técnicas & aplicar las matemáticas utilizadas en muchos campos que requieren enfoque sistemático para hacer frente a problemas complejos como estos campos/aplicaciones para resolver problemas ALGOS procesamiento

imagen

procesamiento de señal en general algos

Reducción de ruido, analógico a digital

CS o de TI:

gestión de datos

seguridad (encriptación, detección de intrusos)

Machine Learning

Finanzas, Investigación de Operaciones, Econometría:

Lineal Programación

Programación dinámica

Estadísticas Algos & Cálculo Estocástico

Combinatrics

etc ....

sólo para nombrar unos pocos y rayar la superficie

Sin embargo la mayoría de los algoritmos especializados son derivados de los casos de orden general en CS, entonces, 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 comunes CS que he encontrado en el mundo académico & profesionalmente 1) Clasificación (burbuja, inserción, se fusionan, rápidos)

2) Buscar (DFS, BFS)

3) estructuras de datos & Algos que atraviesan las estructuras de datos

4) La recursividad vs iteración (Complejidad de la repetición debe ser estudiado, Maestro Teorema)

5) Los árboles (Binary, N-ary, Kd-árbol, árbol B)

6) gráficos (Traversal través dfs, BFS)

7) Hashing

8) algos matemáticas común (GCD , exponenciación, diferentes multiplicaciones de matrices)

9) Los árboles de expresiones (Edificio & de recorrido)

10) Panorámica de algos de cifrado comunes como RSA, AES, etc ...

Si estudia lo que mencioné anteriormente y conoce las complejidades de tiempo (notación O), eso cubre prácticamente todo lo que necesita saber para los algoritmos de CS.

Recomiendo "Introducción a los algoritmos" de Cormen, etal. MIT Press

0

Los algoritmos más comunes se incluyen 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 Computer Science Video Tutorials.

0

Mi elección de facto es Stackoverflow.com :)

sólo la búsqueda de la palabra clave "algoritmo"; obtendrá toneladas de problemas.

Cuestiones relacionadas