ShakeSort (Troca Alternda)

O algoritmo ShakeSort, também conhecido como CocktailSort, opera de maneira semelhante ao BubbleSort. Cada elemento do vetor é comparado com o elemento vizinho e caso o valor seja maior, acontecerá a troca de posição entre os elementos. A novidade aqui é que o ShakeSort percorre o vetor nos dois sentidos, ou seja, da esquerda para direita, e então, da direita para esquerda. Esta otimização permite que o tempo de ordenação caia praticamente pela metade. O algoritmo considera que o vetor estará ordenado caso ocorra uma iteração da esquerda para a direita e em seguida uma iteração no sentido contrário, sem que hajam trocas entre elementos vizinhos.


© Pistaches 2013