Em ciência da computação é um algoritmo que coloca os elementos de uma dada sequência em uma certa ordem -- em outras palavras, efetua suaordenação completa ou parcial. As ordens mais usadas são a numérica e a lexicográfica.
Existem várias razões para se ordenar uma sequência. Uma delas é a possibilidade se acessar seus dados de modo mais eficiente, mas nesta materias vamos estudar apenas os algoritmos ou métodos simples de ordenação.
Insertion sort
ou ordenação por inserção, é um simples algoritmo de ordenação, eficiente quando aplicado a um pequeno número de elementos. Em termos gerais, ele percorre um vetor de elementos da esquerda para a direita e à medida que avança vai deixando os elementos mais à esquerda ordenados. O algoritmo de inserção funciona da mesma maneira com que muitas pessoas ordenam cartas em um jogo de baralho como o pôquer.
FUNÇÃO INSERTION_SORT (A[], tamanho)
VARIÁVEIS
i, ,j
eleito
PARA I <- 1="" a="" at="" eleito="" enquanto="" fa="" i-1="" i="" j="" tamanho="">=0) E (eleito < A[j])) FAÇA
A[j+1]:= A[j];
j:=j-1;
FIM_ENQUANTO
A[j+1] <- eleito="" fim="" fim_para="" pre="">
selection sort
O selection sort (do inglês, ordenação por seleção) é um algoritmo de ordenação baseado em se passar sempre o menor valor do vetor para a primeira posição (ou o maior dependendo da ordem requerida), depois o de segundo menor valor para a segunda posição, e assim é feito sucessivamente com os (n-1) elementos restantes, até os últimos dois elementos.
INICIO
escreva("The SMARTSOFT CORPORATION APRESENT")
//declarar as variáveis:
Inteiro a[10] <- 0="" 15="" 18="" 1="" 21="" 30="" 4="" 50="" 7="" 8="" 9="" a="" at="" ate="" aux="" de="" i="" inteiro="" j="" menor="" o="" ordenar="" para="" passo="" se="" vetor:=""> a[j] então
menor <- 0="" 1="" 9="" a="" at="" aux="" de="" ent="" escrever="" fim="" fimse="" i="" j="" menor="" o="" ordenado:="" para="" passo="" pr="" pre="" se="" vetor="" ximo="">
Bubble sort
O bubble sort, ou ordenação por flutuação (literalmente "por bolha"), é um algoritmo de ordenação dos mais simples. A ideia é percorrer o vector diversas vezes, a cada passagem fazendo flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo.
void bubble_sort(int vetor[], int tamanho) {
int comparacoes = 0;
int trocas = 0;
for(int i=tamanho-1; i >= 1; i--) {
for(int j=0; j < i ; j++) {
comparacoes ++;
if(vetor[j]>vetor[j+1]) {
aux = vetor[j];
vetor[j] = vetor[j+1];
vetor[j+1] = aux;
trocas++;
}
}
}
}
->->
->->
0 comentários:
Enviar um comentário