6
Ordenação Por Inserção Funcionamento Implementação Estrutura de Dados

Ordenação por inserção

Embed Size (px)

Citation preview

Page 1: Ordenação por inserção

Ordenação Por Inserção

Funcionamento

Implementação

Estrutura de Dados

Page 2: Ordenação por inserção

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.

Page 3: Ordenação por inserção

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).

Page 4: Ordenação por inserção

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

Page 5: Ordenação por inserçã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.

Page 6: Ordenação por inserção

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