Resumen de conceptos básicos de Java-6

Seis algoritmos comunes involucrados en la matriz.

1. Algoritmos comunes involucrados en arreglos: algoritmos de clasificación

   1.1 El concepto de algoritmo de clasificación

            Suponga que la secuencia que contiene n registros es {R1, R2, ..., Rn}, y la secuencia de teclas correspondiente es {K1, K2, ..., Kn}. Reordene estos registros como {Ri1, Ri2, .... .., Rin},

        Haga que el valor de clave correspondiente cumpla con la condición Ki1 <= Ki2 <= ...... <= Kin, esta operación se llama clasificación.

          En términos generales, el propósito de la clasificación es encontrar rápidamente.

 

         Mida los pros y los contras del algoritmo de clasificación:

         a. Complejidad del tiempo : analice la cantidad de comparaciones de palabras clave y la cantidad de movimientos registrados

         b. Complejidad del espacio : analiza cuánta memoria auxiliar se necesita en el algoritmo de clasificación

         c. Estabilidad: si las palabras clave de los dos registros A y B son iguales, pero la secuencia de A y B permanece sin cambios después de la clasificación, se dice que el algoritmo de clasificación es estable

   1.2 Clasificación de los algoritmos de clasificación: clasificación interna y clasificación externa.

         > Clasificación interna : todo el proceso de clasificación no requiere almacenamiento externo (como discos, etc.) y todas las operaciones de clasificación se completan en la memoria.

         > Clasificación externa : Hay muchos datos involucrados en la clasificación y la cantidad de datos es muy grande. La computadora no puede poner todo el proceso de clasificación en la memoria para completarlo, debe recurrir a una memoria externa (como un disco). El tipo externo más común es el tipo de combinación de carreteras. Se puede considerar que el género externo está compuesto por múltiples géneros internos.

    1.3 Los diez mejores algoritmos de clasificación interna

           1. Seleccione Ordenar

              > Clasificación de selección directa, clasificación de montón

           2. Tipo de intercambio

              > Clasificación de burbujas, clasificación rápida

           3. Orden de inserción

              > Clasificación de inserción directa, clasificación de media inserción, clasificación de Shell

           4. Combinar ordenación

           5. Clasificación de cubos

           6. Tipo de cardinalidad

      1.4 Clasificación de burbujas

            1.4.1 El concepto de clasificación de burbujas

                     La clasificación de burbujas, que visita repetidamente la secuencia que se va a clasificar, compara dos elementos a la vez y los intercambia si están en el orden incorrecto.

            1.4.2 Clasificación de ideas

                     > Compare elementos adyacentes. Si el primero es mayor que el segundo (orden ascendente), intercambie los dos.

                     > Haga el mismo trabajo para cada par de elementos adyacentes, desde el primer par al principio hasta el último par al final. Una vez realizado este paso, el último elemento será el número más grande.

                     > Repita los pasos anteriores para todos los elementos excepto el último.

                     > Siga repitiendo los pasos anteriores para cada vez menos elementos hasta que sepa que no hay un par de números para comparar.

      1.5 Clasificación rápida

             1.5.1 El concepto de clasificación rápida

                      La ordenación rápida suele ser significativamente más rápida que otros algoritmos con el mismo O (nlogn), por lo que se usa a menudo, y la ordenación rápida utiliza la idea de dividir y conquistar, por lo que a menudo puede ver la sombra de la ordenación rápida en muchas entrevistas escritas . La clasificación rápida es, con mucho, la más rápida entre los algoritmos de clasificación internos.

             1.5.2 Clasificación de ideas

                      > Elija un elemento de la secuencia y llámelo "pivote"

                      > Vuelva a ordenar la secuencia para que los elementos menores que el valor de referencia se coloquen delante de la referencia. Todos los elementos mayores que el valor de referencia se colocan detrás de la referencia (el mismo número puede ir a cualquier lado). Después del final de esta división, el punto de referencia está en el medio de Shu Lei. A esto se le llama operación de partición.

                      > Ordene de forma recursiva las subsecuencias de elementos menores que el valor de referencia y las subsecuencias de elementos mayores que el valor de referencia

                      > El caso inferior de forma recursiva es que el tamaño de la secuencia es cero o uno, es decir, siempre se ha ordenado. Aunque ha sido recursivo, el algoritmo siempre terminará, porque en cada iteración, pondrá al menos un elemento en su última posición.

    1.6 Comparación de rendimiento de varios métodos de clasificación internos

          a. En términos de tiempo promedio : la clasificación rápida es la mejor. Pero en el peor de los casos, el rendimiento en el tiempo no es tan bueno como el ordenamiento por pila y el ordenamiento por combinación.

          b) Desde el punto de vista de la simplicidad del algoritmo : dado que los algoritmos de clasificación por selección directa, clasificación por inserción directa y clasificación por burbujas son relativamente simples, se consideran algoritmos simples. Para los algoritmos de clasificación de Shell, clasificación de montón, clasificación rápida y clasificación de fusión, los algoritmos son más complicados y se consideran clasificación compleja.  

          c. Desde la perspectiva de la estabilidad : la ordenación por inserción directa, la ordenación por burbujas y la ordenación por combinación son estables, mientras que la ordenación por selección directa, la ordenación rápida, la ordenación por shell y la ordenación por montón son clases inestables.

          d) A partir del tamaño del número de registros que se ordenarán n: cuando n es pequeño, se debe usar una ordenación simple; y cuando n es grande, se debe usar una ordenación mejorada.

             > Si n es pequeño (como n <= 50), se puede utilizar la inserción directa o la clasificación por selección directa

               Cuando la escala de registros es pequeña, la clasificación por inserción directa es mejor; de lo contrario, debido a que la cantidad de registros que se seleccionan directamente para el movimiento es menor que la de inserción directa, es mejor seleccionar selección y clasificación directas

             > Si el estado inicial del archivo es básicamente en orden (refiriéndose al orden positivo), se debe utilizar inserción directa, burbujeo o clasificación rápida aleatoria.

             > Si n es grande, la complejidad del tiempo es el método de clasificación O (nlogn): clasificación rápida, clasificación por pila o clasificación por fusión.

2. El uso de herramientas Arrays

    2.1 ¿Qué es la clase de utilidad Arrays?

          La clase java.util.Arrays es la clase de herramienta para manipular matrices, incluidos varios métodos para manipular matrices (como ordenar y buscar ).

    2.2 Clase de herramienta Arrays

    2.3 Clasificación de matrices

        > El método sort () de la clase java.util.Arrays proporciona la función de ordenar elementos de matriz:

import java.util.Arrays; 
public class SortTest {
    public static void main(String[] args) {
         int [] numbers = {5,900,1,5,77,30,64,700}; 
            Arrays.sort(numbers); 
            for(int i = 0; i < numbers.length; i++){ 
            System.out.println(numbers[i]); 
            }
    }
}

3. Excepciones habituales en el uso de matrices

    3.1 Array fuera de límites (ArrayIndexOutOfBoundsException)

          No se informa ningún error al compilar

   3.2 NullPointerException

          No se informa ningún error al compilar

 

 

 

 

  

 

 

 

    

 

 

 

Supongo que te gusta

Origin blog.csdn.net/weixin_52011642/article/details/109544644
Recomendado
Clasificación