El ejemplo de este artículo dice la forma en que Java usa la clasificación burbujeante para ordenar la matriz. Compártelo para todos para su referencia. Los detalles son los siguientes:
1. Clasificación de burbujas:
Use la clasificación burbujeante para ordenar la matriz
2. Conceptos básicos:
A su vez se comparan dos números adyacentes, colocan el frente decimal y el gran número está detrás. Es decir, en el primer viaje: primero compare los primeros y segundos números, coloque el decimal antes y el gran número. Luego compare el segundo y tercer número, coloque el decimal antes, y después del gran número, continúe, hasta los dos últimos números, coloque el decimal antes, y se coloca el gran número. En este punto, el número más grande se estableció hasta el final. En el segundo viaje: a partir del primer par (porque el segundo número del segundo y el tercer número puede reducirse, el primer número ya no es menor que el segundo número), ponga el decimal después de ponerlo, se ha comparado Hasta el penúltimo número (la primera posición ya es la más grande). Como resultado, repita el proceso anterior hasta que se complete el orden final.
Tercero, date cuenta de las ideas:
Para la implementación de doble bucle, la variable del ciclo exterior se establece en I, y la variable de circulación interna se establece en J. Si hay n números que deben ordenarse, el ciclo externo se repite N-1 veces, y el ciclo interno repite N-1, N-2, ..., 1 vez. Los dos elementos que se comparan cada vez están relacionados con el ciclo interno J. Se pueden identificar con un [j] y un [j+1] por separado, y el valor de I es 1,2, ..., N-1 , N-1 para el valor de cada i, j es 0,1,2, ... ni.
Deje que la matriz longitud n:
1. En comparación con los dos datos adyacentes, si los datos anteriores son mayores que los datos posteriores, los dos datos se intercambiarán.
2. De esta manera, los datos más grandes se "hunden" en la posición N-1 de la matriz después de un recorrido a los datos N-1.
3. N = n-1, si n no es 0, repita los dos primeros pasos, de lo contrario el tipo se completa.
4. Implementación del código Java:
Paquete ArrayDemo; int [] a = {2, 4, 76, 12, 34, 23, 86}; * * Las funciones de clasificación de burbujas se definen como un uso estático y conveniente. ++) { / / / este es el número de control para (int j = 0; j <a.length -i; j ++) {// j <a.length -i, el número de elementos comparativos if (a [j]> a [j + j + 1]) {int temp = a [j];
5. Análisis de rendimiento:
Si el estado inicial de la secuencia de registro es "secuencia positiva", el proceso de clasificación burbujeante solo necesita ser ordenado, y solo la comparación N-1 durante el proceso de clasificación se realiza sin registros móviles; 1)/2 Las comparaciones y registros deben realizarse. Por lo tanto, la complejidad del tiempo total de la clasificación burbujeante es o (n*n).
6. Optimización de algoritmos:
El método de deficiencia y mejora del método de clasificación burbujeante:
Primero, durante el proceso de clasificación, después de que se realiza el orden final, aunque los datos se han ordenado por completo, el programa no puede determinar si completar la clasificación. Valor de su valor inicial a no -non -non -non -non -non -non -non -non -non -non -non -non -non -sidough set Value. Cada tipo se establece en 0 antes del inicio del tipo. Al comienzo de una nueva ronda de clasificación, verifique este logotipo.
/ *** Función de clasificación de burbujas Mejorado*/ public static void bubblesort (int [] a) {boolean flag = true; ; ;
En segundo lugar, en la clasificación burbujeante, se puede intercambiar innumerables, o puede haber una vez o múltiples intercambios de datos. La información de ubicación del intercambio de datos no se procesa. Para hacer un uso completo de esta información, en un escaneo global, puede realizar la clasificación local de burbujas en cada datos de pedido posterior, que se llama clasificación local de burbujas. Los algoritmos de clasificación de burbujas locales y clasificación de burbujas tienen la misma complejidad de tiempo, y bajo la condición de orden positivo e inverso, el número de palabras clave requeridas para el número de palabras clave y movimientos es exactamente el mismo. Debido a que el número de datos de datos de la clasificación burbujeante local y la clasificación burbujeante es siempre el mismo, el número de palabras clave necesarias para la clasificación burbujeante local a menudo es menor que la clasificación burbujeante, lo que significa que la clasificación burbujeante local es probable que compare el número promedio de veces en promedio. que la falsificación. Para los datos discapacitados, cuando estamos en la clasificación de burbujas, si se usa la secuencia inversa de datos de K+1 de los datos K+1, entonces se hace un tipo burbujeante de los primeros datos para que se mueva a la posición correcta, es decir , deje que los datos K+1 anteriores se ajusten a un orden positivo. Debido a que este método burbujeante solo está burbujeando para los datos de K+1 anteriores, lo llamamos burbujeo local
Se espera que este artículo sea útil para el diseño del programa Java de todos.