Resumen de algoritmos de clasificación comunes
Compare dos elementos adyacentes y cambie el elemento con el valor máximo a la derecha.
Compara dos números adyacentes en secuencia, con el número decimal primero y el número grande al final.
Es decir, en la primera pasada: primero compara el número 1 con el segundo número, con el decimal primero y el número grande al final. Luego compare el segundo número con el tercer número, con el decimal delante y el número grande detrás, y así sucesivamente hasta comparar los dos últimos números, con el decimal delante y el número grande detrás. Luego repita el paso uno hasta que se complete toda la clasificación.
Después de la primera comparación, el último número debe ser el número más grande en la matriz, por lo que el último número no participará en la segunda comparación.
Después de completar la segunda pasada, el penúltimo número también debe ser el segundo número más grande en la matriz, por lo que los dos últimos números no se compararán en la tercera pasada.
Y así sucesivamente...
Resultados de salida:
Ventajas de la clasificación de burbujas: cada clasificación será más pequeña, porque cada clasificación tendrá valores más grandes. encontró. Por ejemplo, después de la primera comparación, el último número debe ser el mayor. En la segunda clasificación, solo necesita comparar otros números excepto el último número, y también puede encontrar que el número más grande está detrás del número que participa en la segunda comparación. La tercera comparación solo necesita comparar otros números excepto los dos últimos números, y así sucesivamente... es decir, no hay comparación.
En términos de complejidad temporal:
Seleccione aleatoriamente un número n de una matriz y divida la matriz en tres partes mediante una clasificación, es decir, 1, área 2 menor que n, área 2 3 es igual a n, el área es mayor que n, y luego la suma del área menor que n y el área mayor que n se procesa recursivamente de acuerdo con este método, de modo que todos los datos se convierten en una matriz ordenada.
Como se muestra en la siguiente figura:
Suponiendo que el plano base inicial es el primer elemento 23 de la matriz, primero usamos una variable temporal para almacenar el plano base, es decir , tmp = 23, y luego respectivamente desde Escanee la matriz en ambos extremos de la matriz y establezca dos indicadores: el punto bajo a la posición inicial y el punto alto a la posición final.
Primero, a partir de la segunda mitad, si el valor del escaneo es mayor que los datos base, aumente en -1 si se encuentra que un elemento es más pequeño que los datos base, como 18<; /p>
Luego comience desde el principio Escanee después de su llegada. Si el valor escaneado es menor que los datos de referencia, deje bajo +1. Si se encuentra que un elemento es más grande que los datos de referencia, como en la Figura 46 arriba >:= tmp, entonces el valor de orden inferior se asigna al valor de orden superior. Después de mover los punteros e intercambiar datos, el resultado es el siguiente:
Luego comienza a atravesar de adelante hacia atrás hasta que bajo = alto finaliza el ciclo. En este momento, el subíndice de bajo o. alto es la posición de índice correcta de los datos referenciados 23 en la matriz, como se muestra en la siguiente figura:
A medida que bajamos una y otra vez, podemos saber claramente que la esencia de la clasificación rápida es colocar. todos los números menores que el número de referencia a la izquierda del número de referencia y coloque todos los números mayores que el número de referencia a la derecha del número base para encontrar la ubicación correcta de los datos en la matriz.
La primera mitad y la segunda mitad se ordenan de forma recursiva y el resultado final se ordena de forma natural.
Resultado de salida:
En el mejor de los casos, la cola rápida puede dividir la secuencia exactamente cada vez, por lo que la complejidad del tiempo es O (nlogn). En el peor de los casos, la cola rápida solo puede dividir la secuencia en un elemento y otros elementos a la vez. En este momento, la cola rápida degenera en clasificación de burbujas y la complejidad del tiempo es O (N 2).
La operación básica de la ordenación por inserción es insertar un dato en datos ordenados, obteniendo así nuevos datos ordenados con un número más uno. Este algoritmo es adecuado para ordenar una pequeña cantidad de datos y la complejidad temporal es O (n 2). Es un método de clasificación estable.
Insertar datos en datos ordenados ordenados.
Primera clasificación:
Compara el segundo número de la matriz con el primer número (tratado como datos ordenados)
La segunda clasificación:
Compare el tercer número de la matriz con los datos ordenados {2, 3} (recién organizados en la primera fila).
Paso 2:
...
Y así sucesivamente.
Resultados de salida:
La clasificación selectiva es un algoritmo de clasificación simple e intuitivo.
Funciona seleccionando el elemento más pequeño (o más grande) de los elementos de datos que se ordenarán cada vez y almacenándolo al comienzo de la secuencia. Luego, continúa buscando el elemento más pequeño (o más grande) entre los elementos restantes sin clasificar y colócalo al final de la secuencia ordenada. Espere hasta que todos los elementos de datos a ordenar estén organizados. La clasificación selectiva es un método de clasificación inestable.
Por ejemplo, fusionar y ordenar matrices de enteros. Primero utilizamos los "puntos" del pensamiento de divide y vencerás para dividir la matriz.
Resultados de salida: