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:
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.
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.
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.