Algoritmos centrales dominados por programadores. Ven y aprende.
1. Los diez mejores algoritmos de clasificación
Clasificación simple: clasificación por inserción, clasificación por selección y clasificación por burbujas (obligatorio)
Clasificación divide y conquistarás: clasificación rápida, fusión Clasificación (obligatoria, la clasificación rápida también debe prestar atención al método de selección del eje central)
Clasificación por distribución: clasificación por cubos y clasificación por base.
Clasificación de árbol: clasificación de montón (obligatorio)
Otros: clasificación de conteo (obligatorio) y los diez mejores algoritmos de Hill Learning. Si no los entiende, le recomiendo que lea el libro, porque después de leerlo, es posible que no solo sepa cómo escribir este algoritmo, sino también cómo surge. El libro recomendado es "Algoritmo Cuarta Edición", que es muy detallado, fácil de entender y tiene muchas ilustraciones.
3. Algoritmo de búsqueda y retroceso
Algoritmo codicioso (obligatorio)
Algoritmo de búsqueda heurística: A* algoritmo de búsqueda de ruta (comprensión)
Algoritmo de coloración de mapas, problema de N Queens, orden de procesamiento óptimo.
El problema del viajante es conveniente sólo porque está relacionado con ciertos algoritmos. Creo que debería aprenderlos todos si es posible. Al igual que la idea del algoritmo codicioso, hay que aprenderlo. Se recomienda estudiar resolviendo las preguntas, leetcode resuelve las preguntas directamente.
4. Programación dinámica
Árbol DP: 01 problema de mochila
DP lineal: subsecuencia común más larga, subcadena común más larga
DP de intervalo : el valor máximo de la matriz (suma y producto)
Juego de números
Compresión de estado DP: viajante de comercio
Aquí se recomienda comprender primero qué es Programación dinámica, luego leetcode y luego preguntas de práctica. De todos modos, suelen ser los problemas anteriores. También escribiré las rutinas que aprendí más tarde, que son algo similares a la recursividad que escribí antes. Es una experiencia.
5. Algoritmo de coincidencia de caracteres
Expresión regular
Coincidencia de patrones: kmp, Boyer Moore Creo que casi conoces KMP y Boyer Moore.
6. Algoritmos relacionados con el flujo
Flujo máximo: ruta de aumento más corta, algoritmo Dinic flujo máximo corte mínimo: problema de beneficio máximo, problema de recuperación de la red costo mínimo flujo máximo: ruta de costo mínimo , para recreación, solo he aprendido algunos algoritmos, puedes aprenderlos si estás interesado.