¿Cuáles son los algoritmos de nivel básico con los que debemos comenzar y cuáles son los algoritmos avanzados que debemos estudiar?

No creo que haya forma de ordenar los algoritmos por dificultad. También es bastante difícil clasificar entre algoritmos avanzados e intermedios. Pero una vez que haya resuelto algunos métodos ambiciosos y problemas ad-hoc, puede comenzar con lo siguiente.

a. Matemáticas

  1. Tamiz
  2. Aritmética modular
  3. Euler Phi
  4. Geometría simple (segmento de línea, etc.)

si. Teoría de grafos

  1. Breadth First Search
  2. Profundidad primera búsqueda
  3. Clasificación topológica
  4. Componentes fuertemente conectados
  5. Componentes Biconnectados
  6. Encontrar puentes y puntos de articulación
  7. Encontrar el ciclo

C. Estructuras de datos básicas (pila, cola, cola prioritaria)

re. Algoritmos de clasificación básicos (clasificación de burbujas, clasificación por inserción, clasificación por selección, clasificación por conteo)

mi. Búsqueda binaria

Una vez que tenga más confianza, puede seguir adelante con lo siguiente.

a. Programación dinámica

si. Árbol de segmento

C. Algoritmos de clasificación (clasificación de fusión, clasificación rápida)

re. Algoritmos Gráficos

  1. Árbol de expansión mínima (Kruskal y Prims)
  2. Dijkstra
  3. Floyd-Warshall
  4. Bellman Ford

mi. Casco convexo

F. Hashing

sol. Búsqueda ternaria

Lo siguiente puede considerarse avanzado.

  1. Eliminación gaussiana
  2. Matriz de exponenciación
  3. Trie
  4. Descomposición de luz pesada
  5. Flujo y emparejamiento bipartito
  6. Antepasado común más bajo
  7. Knuth-Morris-Pratt
  8. Árbol de sufijo

PD: me he perdido toneladas.

More Interesting

Cómo encontrar el subconjunto contiguo de suma máxima utilizando un método de divide y vencerás

Si un gráfico G contiene un puente, e, ¿es posible construir un árbol de expansión que no incluya este borde?

¿Cuál es el mejor algoritmo de programación que hayas creado?

¿Cuál es la probabilidad de que un determinado número binario de 6 bits divida perfectamente un binario aleatorio de 15 bits?

¿Qué es mejor si necesito elegir un camino para mi carrera, algoritmos y estructuras de datos, o tecnologías de big data, en las que estoy trabajando actualmente?

Si el tamaño de una matriz es 101 y el rango de números es de 0 a 99, solo un número viene 2 veces. ¿Cuál es ese número?

¿Qué es particionar en chispa, por qué lo necesitamos?

¿Cómo podemos demostrar que el reconocimiento de objetos basado en la visión es un problema np completo?

¿Es posible "escribir un programa o algoritmo" para encontrar la complejidad de tiempo de cualquier programa dado como entrada?

Cómo escribir un programa para implementar la búsqueda binaria

¿Cuál es más artístico, un programador o un piloto?

¿Qué tan valioso sería ser ubicado para aprender la estructura de datos usando C?

¿Cuáles son los factores que afectan la tasa de error en el algoritmo KNN?

Cómo ordenar la lista en la columna como números y cadena, pero la cadena no se debe ordenar en Excel

¿Cuáles son todas las áreas donde las estructuras de datos se aplican en escenarios del mundo real?