Algoritmos de clasificación: clasificación de burbuja y clasificación de selección

¡Continúe creando, acelere el crecimiento! Este es el primer día de mi participación en el "Nuggets Daily New Plan · June Update Challenge", haz clic para ver los detalles del evento

Algoritmo de clasificación

1. Introducción básica

El algoritmo de clasificación es relativamente básico, pero está diseñado con muchas ideas informáticas, de la siguiente manera:

  1. Estrategias de comparación y no comparación
  2. Implementación de iteración y recursividad
  3. la idea de divide y vencerás
  4. Mejor, peor, análisis de complejidad de tiempo de caso promedio
  5. algoritmo aleatorio

2. Clasificación de los algoritmos de clasificación

Clasificación de algoritmos

1.jpg

Resumen del algoritmo

2.jpg

3. Clasificación de burbujas

(1) Introducción a la clasificación por burbuja

Bubble sort es un algoritmo de clasificación simple. Recorre repetidamente la secuencia que se va a ordenar, compara dos elementos a la vez y los intercambia si están en el orden incorrecto. El trabajo de visitar la secuencia se repite hasta que no se necesitan más intercambios, es decir, la secuencia ha sido ordenada. El nombre de este algoritmo proviene del hecho de que los elementos más pequeños "flotan" lentamente hacia la parte superior de la secuencia mediante el intercambio.

(2) El principio del tipo de burbuja:

  1. Si la relación del tamaño del elemento es incorrecta, intercambie los dos números (a > b en este caso),

  2. comparar un par de elementos adyacentes (a, b),

  3. Repita los pasos 1 y 2 hasta llegar al final de la matriz (el último par es el elemento (N-2) y (N-1) ya que nuestra matriz comienza en cero)

  4. Con mucho, el elemento más grande estará en la última posición. Luego disminuimos N en 1 y repetimos el paso 1 hasta que N = 1.

(3) Demostración de películas

3.jpg

(4) Demostración de código

public static void bubbleSort(int array[]) {
        int t = 0;
        for (int i = 0; i < array.length - 1; i++){
            for (int j = 0; j < array.length - 1 - i; j++){
                if (array[j] > array[j + 1]) {
                    t = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = t;
                }
            }
        }
    }
复制代码

4. Clasificación de selección

(1) Introducción al ordenamiento por selección

La clasificación por selección (Selection-sort) es un algoritmo de clasificación simple e intuitivo. Cómo funciona: primero encuentre el elemento más pequeño (más grande) en la secuencia sin clasificar, guárdelo al comienzo de la secuencia ordenada, luego continúe buscando el elemento más pequeño (más grande) de los elementos restantes sin clasificar y colóquelo en la secuencia ordenada final de . Y así sucesivamente hasta que todos los elementos estén ordenados.

(2) El principio de clasificación por selección

  1. Encuentre la posición del elemento más pequeño X en el rango [L...N-1] ,

  2. Intercambia X con el L-ésimo término,

  3. Aumente el límite inferior L en 1 y repita el paso 1 hasta que L = N-2 .

(3) Demostración gráfica dinámica

4.jpg

(4) Demostración de código

public static void selectionSort(int[] array) {
        for (int i = 0; i < array.length; i++) {
            int index = i;
            for (int j = i; j < array.length; j++) {
                if (array[j] < array[index]) 
                    index = j; 
            }
            int temp = array[index];
            array[index] = array[i];
            array[i] = temp;
        }
    }
复制代码

Supongo que te gusta

Origin juejin.im/post/7101502080984023047
Recomendado
Clasificación