¿Cuáles son las clasificaciones de los algoritmos?

Los algoritmos se pueden dividir a grandes rasgos en algoritmos básicos, algoritmos de estructura de datos, teoría de números y algoritmos algebraicos, algoritmos de geometría computacional, algoritmos de teoría de grafos, programación dinámica y análisis numérico, algoritmos de cifrado, algoritmos de clasificación, algoritmos de recuperación, aleatorizados. algoritmo, algoritmo paralelo, modelo de deformación hermitiana, algoritmo de bosque aleatorio.

Los algoritmos se pueden dividir en tres categorías:

1. Algoritmos deterministas limitados. Este tipo de algoritmo finaliza en un período de tiempo limitado. Es posible que tarden mucho tiempo en realizar una tarea específica, pero aun así finalizarán dentro de un cierto período de tiempo. Los resultados de tales algoritmos a menudo dependen de los valores de entrada.

2. Algoritmo finito y no determinista Este tipo de algoritmo termina en un tiempo limitado. Sin embargo, para un valor (o valores) dado, el resultado del algoritmo no es único ni seguro.

3. Los algoritmos infinitos son aquellos algoritmos que no terminan porque las condiciones de definición de terminación no están definidas o las condiciones definidas no pueden ser satisfechas por los datos de entrada. A menudo, surgen algoritmos infinitos debido a que no se definen las condiciones de terminación.

Información ampliada:

El algoritmo se refiere a una descripción precisa y completa de una solución de resolución de problemas. Es una serie de instrucciones claras para resolver problemas. El algoritmo representa un método sistemático para describir. la solución El mecanismo estratégico del 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 incluyeron las funciones recursivas propuestas por Kurt Gödel, Jacques Herbrand y Stephen Cole Crane en 1930, 1934 y 1935 respectivamente, el cálculo lambda propuesto por Alonzo Church en 1936, la Formulación 1 de Emil Leon Post en 1936 y la Máquina de Turing de 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.

Material de referencia: Enciclopedia-Algoritmo de Baidu