Ordenamiento de burbuja, la selección especie

En la batalla contra la clase de aprendizaje, esta semana he aprendido mis dos métodos de clasificación.

(A) ordenamiento de burbuja

 (1) Principio: dos unidades de datos adyacentes, más capacidad de almacenamiento. Es decir, si la primera unidad de datos es grande, será dos células adyacentes, el almacenamiento de intercambio de datos                           

(2) Proceso: A partir de una unidad inicial comparación, el primer ciclo, selecciona un valor máximo, todas las células en la matriz final; después de cada ciclo, se compara un valor máximo del ciclo actual, la descarga en la unidad de comparación actual involucrado en la final; unidad de comparación elegido previamente, el siguiente no participará en comparación siguiente

(3) Optimización:

1, el bucle interior optimizado: número de ciclos interior -1

                 bits actual y el siguiente bit i e i + 1 comparar comparar

               penúltimo ciclo actual, y el último tiene que comparar

                El ciclo actual de la última, sólo a través de la penúltima posición, relativamente involucrados, que no participan en el ciclo;

         2, la optimización de bucle exterior: 

             Si hay n celdas participar clasificación, ciclo de clasificación sólo n-1 veces

              La clasificación del último ciclo, en orden descendente de los dos últimos valores se determinará

             Última unidad queda sin ciclo de clasificación, pero el tamaño se ha determinado, que no es necesario re-ciclo de clasificación;

   La última vez para participar en el ciclismo, ha decidido salir del valor máximo, no participar en el próximo ciclo

              El primer tipo, menos la participación 0 unidades

               La segunda clasificación, las células implicadas en unos pocos

              El tercer tipo, las células que participan en al menos 2

               ........

              Por exterior definición de la variable de bucle es numérico circular a partir de 0

              Cada bucle interior, el número, menos el valor de la variable de bucle externo

(4) después de que el código optimizado:

  Hay res = [3,44,38,5,47,25,36,2,79,8,1];

   for (var i = 0; i <= (arr.Length-1) -1; i ++) {

           for (var j = 0; j <= (arr.Length-1) -1-i; j ++) {

               si (arr [j]> arr [j + 1]) {

                   Hay res = 0;

                   res = arr [j];

                   arr [j] = arr [j + 1];

                   arr [j + 1] = res;

               }

           }  

       }

Intercambiar datos almacenados :: (5) el núcleo de dos células adyacentes, comparando el tamaño de los datos, el valor más grande de la primera unidad, las dos unidades intercambian datos almacenados

 

(B) Selección Ordenar

         (1) Principio: el valor mínimo seleccionado de este índice significa el ciclo de índice se encuentra, si la celda no es la posición de inicio, la unidad de partida para el intercambio de datos.

(2) Proceso: ciclo de posición para definir la ubicación predeterminada de partida es el valor mínimo; partiendo de una posición en una posición de partida, ciclo de ejecución, si el valor de posición, menor que el valor de índice en la ubicación de almacenamiento, para almacenar el posición valor de índice; final del ciclo, comparando el índice almacenado, si el índice es la posición de partida, si no, el valor de cambio de las dos posiciones, el valor mínimo de la presente ciclo, se coloca en la posición de inicio del ciclo; entonces ejecutar múltiples ciclos para completar la secuenciación

(3) Optimización:

 1) una optimización capa externa: el valor antes de la comparación, una comparación sin la participación

              2) una optimización capa interior: posición para iniciar el ciclo desde una posición de inicio de la siguiente

(4) después de que el código optimizado:

    Hay res = [3,44,38,5,47,25,36,2,79,8,1];

        for (var i = 0; i <= (res.length-1) -1; i ++) {

             mi = I;

             for (var j = i + 1; j <= res.length-1; j ++) {

                  si (res [min]> res [j]) {

                    min = j;

                 }

             }

             si (min! = i) {

               Hay m = 0;

               m = res [i];

               nada [i] = nada [min];

               res [min] = m;

            }

       }

(5) Núcleo: Encontrar el valor del índice mínimo intercambiado con la posición de partida. En primer lugar encontramos el valor del índice intercambiado

Supongo que te gusta

Origin www.cnblogs.com/w8261/p/12544154.html
Recomendado
Clasificación