Clasificación de algoritmos tal como son
La clasificación es un arregloobjetos en un cierto orden, por ejemplo, en orden descendente o ascendente. En general, el orden de los elementos es la manipulación más común con los datos, lo que hace que sea más fácil encontrar la información correcta en el futuro. Esto se aplica principalmente a varios sistemas de administración de bases de datos. Los algoritmos de clasificación actualmente existen en grandes cantidades, aunque tienen características (pasos) similares: comparación y permutación de los elementos en pares hasta que la secuencia se ordena.
Los algoritmos de clasificación se pueden clasificar eninterno y externo. Los primeros se caracterizan por el hecho de que todos los elementos ordenados se colocan en la RAM y es posible obtener acceso aleatorio a cualquiera de ellos. Este último puede trabajar con datos ubicados en la memoria externa (en archivos). El acceso a tales elementos se puede implementar secuencialmente.
Es más conveniente ordenar los artículos cuando sonen la estructura de una matriz unidimensional. Cada elemento tiene un número de serie y se accede al elemento de la matriz por índice. Los algoritmos de clasificación en este caso resultan ser los más simples y comprensibles para el uso.
Considere un algoritmo de clasificación interna paradescendiendo por el método de burbuja y su versión mejorada, que difiere en el tiempo dedicado a la clasificación. Ordenando por el método de la burbuja en realidad tiene muchos nombres. También se lo llama el método de clasificación lineal o el método de clasificación de intercambio por elección. Pero, sin embargo, no es un nombre. ¿Por qué una burbuja? Una vez en el agua, la burbuja de aire flotará, ya que es más fácil. Entonces, por ejemplo, al ordenar en orden ascendente, el elemento más pequeño aparecerá en la parte superior.
Consideremos la primera variante del algoritmo de clasificación de una matriz por un método de burbuja. El algoritmo verbal para ordenar una matriz que tiene el identificador mas y consiste en N elementos se ve así:
1. Coloque el elemento más grande de la matriz en lugar del primer elemento (mas [1]). Para esto lo compararemos a su vez con todos los elementos restantes (mas [2], mas [3] ... mas [N]). Si resulta que cualquiera de los elementos restantes es mayor que mas [1], entonces es necesario intercambiarlos (a través de la variable adicional buf).
2. Después de excluir el elemento mas [1] de la consideración, repita el párrafo 1 para el elemento mas [2].
3. Estas acciones deben repetirse para todos los elementos excepto el último.
Implementación del algoritmo de clasificación de burbujas en Pascal:
Acerca de la segunda opción (un método mejoradoburbuja) podemos decir que este es un algoritmo de ordenación rápida. Por lo tanto, si intenta usarlo para ordenar una matriz ya ordenada, el algoritmo terminará su trabajo después de la primera pasada a través de los elementos de la matriz. Por lo tanto, no gastaremos los recursos informáticos del sistema y el tiempo para la comparación sin sentido de los elementos.
Aquí está la implementación de este algoritmo de clasificación para el lenguaje de programación Pascal:
Entonces, los algoritmos de clasificación son un medio para ordenar secuencias de datos. Al elegir un algoritmo en particular, debe tener en cuenta los costos en términos de tiempo y recursos del sistema.