ordenação por inserção

Post on 07-Jul-2015

3.453 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Ordenação Por Inserção

Funcionamento

Implementação

Estrutura de Dados

O que é?

Este é o método de ordenação mais rápido

entre os métodos básicos.

Ordena um vetor da esquerda para a

direita, por ordem crescente ou decrescente.

À medida que o vetor vai sendo percorrido ele

deixa seus elementos à esquerda ordenados.

Funcionamento

Percorre um vetor, sempre a partir do primeiro

índice desordenado (inicialmente o 2º

elemento), e em seguida procura inseri-lo na

posição correta, comparando-o com o seu(s)

anterior(s) e trocando-os de lugar enquanto ele

for menor que seu(s) precedente(s).

void insercao(int v[], int tam)

{

int j, i, temp;

for (i=1;i<tam;i++)

{

//guarda o elemento que esta verificando

temp = v[i];

//verificando os elementos anteriores a posicao i

for(j= i-1;v[j]>temp && j>=0;j--)

{

v[j+1] = v[j];

}

//insere o elemento na posicao correta (ordenada) ate i.

v[j+1] = temp;

}

}

Implementação

Eficiência

Melhor caso: quando os elementos já estão

ordenados.

Caso médio: quando parte dos elementos já

está ordenada.

Pior caso: quando os elementos estão

ordenados em ordem inversa.

Vantagens Desvantagens

Fácil Implementação Grande número de movimentações

Algoritmo EstávelNão é eficiente quando o vetor está

ordenado inversamente

Eficiente com vetores de poucos

elementos

Não é recomendado para vetores

com muitos elementos

top related