Como é que a técnica quicksort no trabalho java?

Aqui, você descobrir como uma das técnicas de classificação mais comumente utilizados em Java realmente funciona. Esta técnica é chamada quicksort,

e é um uso muito engenhosa de recursão.

Para a maioria de nós, para descobrir como algoritmos de ordenação, como o trabalho Quicksort é meramente um exercício intelectual. A API Java já ordenação embutido.

A técnica Quicksort ordena uma matriz de valores usando recursão. Seus passos básicos são assim:

  1. Escolher um valor arbitrário, que se situa dentro da gama de valores na matriz.

    Este valor é o ponto pivô. A forma mais comum de escolher o ponto de articulação é simplesmente escolher o primeiro valor na matriz. As pessoas têm escrito doutorado sobre as formas mais sofisticadas para escolher um ponto de pivô que resulta em mais rápida triagem. Stick com usando o primeiro elemento na matriz.

  2. Reorganizar os valores na matriz de modo a que todos os valores que são menos do que o ponto de articulação está no lado esquerdo da matriz e todos os valores que são maiores do que ou igual ao ponto de articulação estão no lado direito da matriz.

    Video: Java Quick Sort

    o valor pivô indica o limite entre o lado esquerdo eo lado direito da matriz. Ele provavelmente não vai ser morto, mas isso não importa. Esta etapa é chamada particionamento, e os lados direito e esquerdo das matrizes são partições.

  3. Agora tratar cada uma das duas secções da matriz como uma matriz separada, e começar de novo com o Passo 1 para essa secção.

    Essa é a parte recursiva do algoritmo.



A parte mais dura do algoritmo Quicksort é o passo de particionamento, que deve reorganizar a partição de modo a que todos os valores que são menores do que o ponto de articulação estão à esquerda e todos os elementos que são maiores do que o ponto de articulação está à direita. Suponha-se que a matriz tem estes dez valores:

38 17 58 22 69 31 88 28 86 12

Aqui o ponto de pivô é 38, ea tarefa da etapa de particionamento é reorganizar a matriz para algo como isto:

17 12 22 28 31 38 88 69 86 58

Observe que os valores ainda estão fora de ordem. A matriz, no entanto, foi dividido em torno do valor 38: Todos os valores que são menos de 38 são à esquerda de 38, e todos os valores que são maiores que 38 são para a direita de 38.

Agora você pode dividir a matriz em duas partições no valor 38 e repita o processo para cada lado. O valor próprio pivô vai com a partição de esquerda, de modo que a partição esquerda é a seguinte:

17 12 22 28 31 38

Desta vez, o passo de particionamento de pega 17 como o ponto de articulação e reorganiza os elementos da seguinte forma:

Video: Ordenamiento Avanzado - Método QuickSort (Código Java)

12 17 22 28 31 38

Como você pode ver, esta parte da matriz é classificada agora. Infelizmente, Quicksort não percebe que, neste momento, por isso leva mais alguns recursions para ter certeza. Mas esse é o processo básico.


Publicações relacionadas