Classificaçao bumbleshort
Por: ELCINHO • 4/10/2015 • Artigo • 337 Palavras (2 Páginas) • 169 Visualizações
Classificação por Troca
Método da Agitação
Shakesort
.Raramente, é possível efetuar de maneira totalmente clara a classificação de um métodode ordenação. Os métodos podem ser vistos também como ordenações por permutação. Vouapresentar agora um método em que a permutação entre dois elementos é a principalcaracterística do processo. O algoritmo subseqüente de permutação direta é baseado nacomparação e permutação de pares de elementos adjacentes até que todos tenham sido ordenados.Método da Agitação (Shake sort) e uma melhoria do método ordenaçã Bolha (Bubblesort)bem sendo assim não da pra falar do ShakeSort sem antes falar no BobbleSort. Neste método,efetuam-se varreduras repetidas sobre o vetor, deslocando-se, a cada passo, para a suaextremidade direita, o maior dos elementos do conjunto que restou. Se para uma troca, o vetor forvisualizado na posição vertical ao invés de na horizontal, e com o auxílio da imaginação, oselementos formem bolhas em um tanque de água, com densidades inversamente proporcionais aovalor de suas respectivas chaves, então cada varredura efetuada sobre o vetor resultaria naascensão de uma bolha para o seu nível apropriado, de acordo com sua densidade. Este método éconhecido como
Bubblesort
(ordenação por bolhas). Sua forma mais simples é mostrada narotina abaixo:
/* Procedimento que ordena o vetor pelo método de ordenação Bubblesort */
void bubbleSort(int a[], int n) {int i;
// Passos do algoritmo de ordenação
int j;
// Índice do vetor
int aux;
// Variável auxiliar para a permutação de elementos
for(i = 0; i < n-1; i++) {for(j = 0; j < n-1-i; j++) {if(a[j] > a[j+1]) {
// Se o elemento a esquerda for maior que o a direita
aux = a[j];
// Troca-se a posição destes elementos
a[j] = a[j+1];a[j+1] = aux;}}}}
A 44 55 12 42 6 94 18 67i=0 44 12 42 6 55 18 67 94i=1 12 42 6 44 18 55 67 94i=2 12 6 42 18 44 55 67 94i=3 6 12 18 42 44 55 67 94i=4 6 12 18 42 44 55 67 94i=5 6 12 18 42 44 55 67 94i=6 6 12 18 42 44 55 67 94
Exemplo de uma ordenação com BobbleSort.
...