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