Constellation Knowledge Network - Preguntas y respuestas sobre Bagua - Los diez mejores algoritmos de Java

Los diez mejores algoritmos de Java

Algoritmo 1: Clasificación rápida

La clasificación rápida es un algoritmo de clasificación desarrollado por Tony Hall. En promedio, ordenar n elementos requiere ο (n log n) comparaciones. En el peor de los casos, se requiere una comparación o(N2), pero esto es poco común. De hecho, Quicksort es generalmente mucho más rápido que otros algoritmos o (n log n) porque su bucle interno se puede implementar de manera eficiente en la mayoría de las arquitecturas.

Quicksort utiliza la estrategia de divide y vencerás para dividir una lista en dos sublistas.

Pasos del algoritmo:

1 Seleccione un elemento de la secuencia, llamado "pivote".

2 Reordene la matriz. Todos los elementos más pequeños que el valor de la línea de base se colocan delante de la línea de base, y todos los elementos más grandes que el valor de la línea de base se colocan detrás de la línea de base (el mismo número puede estar en ambos lados). . Una vez que sale esta partición, el punto de referencia se encuentra en la mitad de la serie. Esto se llama operación de partición.

3. Ordene recursivamente la subserie de elementos menores que el valor de referencia y la subserie de elementos mayores que el valor de referencia.

El piso de recursividad es cuando la secuencia tiene tamaño cero o uno, lo que significa que ha sido ordenada para siempre. Aunque siempre es recursivo, este algoritmo siempre saldrá porque en cada iteración se colocará al menos un elemento en la última posición.

Algoritmo 2: algoritmo de clasificación del montón

Heapsort se refiere a un algoritmo de clasificación diseñado utilizando la estructura de datos del montón. El montón es una estructura de árbol binario aproximadamente completa que satisface las propiedades del montón: es decir, el valor clave o índice de un nodo secundario siempre es menor (o mayor) que su nodo principal.

La complejidad temporal promedio de la clasificación del montón es ο (NLOGN).

Pasos del algoritmo:

Crea un montón H[0..n-1]

Intercambia la cabeza (valor máximo) y la cola del montón.

3. Reduzca el tamaño del montón en 1 y llame a shift_down(0) para ajustar los datos superiores de la nueva matriz a la posición correspondiente.

4. Repita el paso 2 hasta que el tamaño del montón sea 1.

Algoritmo 3: Ordenación por combinación

Ordenación por combinación (traducción de Taiwán: Ordenación por combinación) es un algoritmo de clasificación eficaz basado en operaciones de combinación. Este algoritmo es una aplicación muy típica de divide y vencerás.

Pasos del algoritmo:

1. Solicite un espacio que sea la suma de las dos secuencias ordenadas. Este espacio se utiliza para almacenar la secuencia fusionada.

2. Establezca dos punteros, las posiciones iniciales son las posiciones iniciales de las dos secuencias de clasificación.

3. Compare los elementos señalados por los dos punteros, seleccione un elemento relativamente pequeño, colóquelo en el espacio de combinación y mueva el puntero a la siguiente posición.

4. Repita el paso 3 hasta que el puntero llegue al final de la secuencia.

5. Convierte todos los elementos restantes de otra secuencia.

上篇: ◆Pida a los expertos en horóscopos que respondan sus preguntas. Nací el día 17 del mes de invierno. ¿Qué constelación es? ! 下篇: Juguete de interpretación de sueños para niños_El coche de juguete de interpretación de sueños para niños se pierde
Artículos populares