¿Qué preguntas de algoritmos clásicos se harán en las entrevistas?
De la siguiente manera:
1. Algoritmo de clasificación: clasificación rápida, clasificación por combinación, clasificación por conteo
2 Algoritmo de búsqueda: retroceso, recursividad, habilidades de poda
p>
p>
3. Teoría de grafos: camino más corto, árbol de expansión mínimo, modelado de flujo de red
4. Programación dinámica: problema de mochila, subsecuencia más larga, problema de conteo
5, Habilidades básicas: divide y vencerás, doble, bisección, codicioso
6 Matrices y listas enlazadas: listas enlazadas simples/dobles, cadenas danzantes
7.
8. Árboles y gráficos: ancestro común más cercano, búsqueda de unión
9. Tabla hash
10. Montón raíz grande/pequeño, montón fusionable<. /p>
11. Cadena: árbol de diccionario, árbol de sufijos
Introducción al algoritmo:
El algoritmo se refiere a una descripción precisa y completa de la solución de resolución de problemas. instrucciones claras para resolver un problema, un algoritmo representa un enfoque sistemático para describir el mecanismo estratégico para resolver un problema. En otras palabras, es posible obtener el resultado requerido en un tiempo limitado para ciertos insumos estandarizados.
Si un algoritmo es defectuoso o inapropiado para un problema, ejecutarlo no resolverá el problema. Diferentes algoritmos pueden utilizar diferente tiempo, espacio o eficiencia para completar la misma tarea. La calidad de un algoritmo se puede medir por su complejidad espacial y temporal.
Las instrucciones de un algoritmo describen un cálculo que, cuando se ejecuta, puede comenzar desde un estado inicial y una entrada inicial (posiblemente vacía), pasar por una serie limitada y claramente definida de estados y finalmente producir una salida. . y se detiene en un estado final. La transición de un estado a otro no es necesariamente determinista. Algunos algoritmos, incluidos los algoritmos aleatorios, contienen entradas aleatorias.
El concepto de algoritmos formales surgió en parte de los intentos de resolver los problemas de decisión de Hilbert y tomó forma en intentos posteriores de definir computabilidad eficiente o métodos eficientes.
Estos intentos incluyen funciones recursivas propuestas por Kurt Gödel en 1930, Jacques Herbrand y Stephen Cole Crane en 1934 y 1935 respectivamente, y Alonzo Church en El cálculo lambda propuesto en 1936, la Formulación 1 de Emil Leon Post en 1936, y la máquina de Turing propuesta por Alan Turing en 1937. Incluso hoy en día, hay casos en los que las ideas intuitivas son difíciles de definir como algoritmos formales.