¿Qué temas de algoritmos deberían cubrirse para convertirse en un buen programador?

Hay muchos algoritmos y cada uno tiene una calidad especial o importancia especial, por lo que no podemos ignorar ninguno de los algoritmos.

Aquí está la lista de algunos algoritmos importantes.

  1. Árbol de segmentos (con propagación diferida)
  2. Árbol de intervalo
  3. Árbol indexado binario
  4. Multiplicación rápida de módulos (cuadratura exponencial)
  5. Algoritmos Heurísticos
  6. Búsqueda de cadenas KMP
  7. Algoritmo de Manacher
  8. Conjunto de búsqueda / disjunto de unión
  9. Trie
  10. Primer Miller Rabin
  11. Recurrencia matricial + multiplicación rápida de módulos para contar
  12. Problema de matrimonio estable
  13. Algoritmo de Euclides extendido
  14. Búsqueda ternaria
  15. Transformada rápida de Fourier para una multiplicación polinómica rápida
  16. Algoritmo de Djikstra, algoritmo de Bellman-Ford, algoritmo de Floyd-Warshall
  17. Algoritmo de Prim, Algoritmo de Kruskal
  18. RMQ, LCA
  19. Algoritmos relacionados con el flujo, problema de asignación, algoritmo húngaro
  20. Algoritmos de coincidencia bipartitos
  21. Descomposición de luz pesada
  22. Algoritmo de línea de barrido
  23. Algoritmo Z
  24. Casco convexo
  25. Matrices de sufijos
  26. LCP
  27. Árbol de sufijo
  28. Eliminación gaussiana
  29. Integración / diferenciación numérica
  30. Recorte de línea
  31. Problemas avanzados de matemáticas ad-hoc
  32. Algoritmo de coincidencia de cadenas Aho-Corasick;
  33. Calcule nCr% M Teorema de Lucas
  34. Descomposición ligera pesada en árboles
  35. Operaciones de modulo inverso
  36. Factorización de Rho Pollard Integer
  37. Números catalanes

Intente implementar todos los algoritmos en sus códigos. Para que pueda comprender fácilmente el hecho detrás de cada algoritmo.

Feliz aprendizaje.

  1. Árbol de segmentos (con propagación diferida)
  2. Árbol de intervalo
  3. Árbol indexado binario
  4. Multiplicación rápida de módulos (cuadratura exponencial)
  5. Algoritmos Heurísticos
  6. Búsqueda de cadenas KMP
  7. Algoritmo de Manacher
  8. Conjunto de búsqueda / disjunto de unión
  9. Trie
  10. Primer Miller Rabin
  11. Recurrencia matricial + multiplicación rápida de módulos para contar
  12. Problema de matrimonio estable
  13. Algoritmo de Euclides extendido
  14. Búsqueda ternaria
  15. Transformada rápida de Fourier para una multiplicación polinómica rápida
  16. Algoritmo de Djikstra, algoritmo de Bellman-Ford, algoritmo de Floyd-Warshall
  17. Algoritmo de Prim, Algoritmo de Kruskal
  18. RMQ, LCA
  19. Algoritmos relacionados con el flujo, problema de asignación, algoritmo húngaro
  20. Algoritmos de coincidencia bipartitos
  21. Descomposición de luz pesada
  22. Algoritmo de línea de barrido
  23. Algoritmo Z
  24. Casco convexo
  25. Matrices de sufijos
  26. LCP
  27. Árbol de sufijo
  28. Eliminación gaussiana
  29. Integración / diferenciación numérica
  30. Recorte de línea
  31. Problemas avanzados de matemáticas ad-hoc
  32. Algoritmo de coincidencia de cadenas Aho-Corasick;
  33. Calcule nCr% M Teorema de Lucas
  34. Descomposición ligera pesada en árboles
  35. Operaciones de modulo inverso
  36. Factorización de Rho Pollard Integer
  37. Números catalanes

Estos son los algoritmos que también puede usar para la programación competitiva.

En ningún orden particular

  1. Graficar algoritmos transversales utilizando recursividad (dfs, bfs, etc.)
  2. Montones y Top N
  3. Manipulación de cadenas (por ejemplo, Buscar si una cadena es una forma girada de otra en orden N complejidad)
  4. Algoritmos de clasificación
  5. Implementaciones de HashMap, digamos una implementación de caché de contenido direccionable
  6. Pila, Colas
  7. Problemas de manipulación de bits (contando el número de bits con complejidad igual al número de bits establecido),
  8. Problemas de programación dinámica (¿N-Queens ?, vendedor ambulante, algoritmos de ruta más corta usando heurística)
  9. Por último, tome un libro como ‘descifrar la entrevista de codificación’ y haga algunos problemas

La lista de algoritmos simplemente te asustaría .

O simplemente puede ir a HackerRank, para empezar, puede resolver las preguntas simplemente buscando en Google las respuestas de los algoritmos si son bastante difíciles para usted (intente no ver las respuestas en el primer intento).

Después, puede resolver 3-4 problemas diariamente para mantener una práctica regular y conocimiento del campo.

Principales algoritmos solicitados durante las entrevistas. – Aprender pasos

El programador y el administrador de la base de datos son dos posiciones diferentes. Aprendiendo MySql podrás ser un buen administrador de bases de datos.