SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
Estrutura de Dados




          Ordenação Por Inserção
           Funcionamento
           Implementaçã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.
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).
Implementaçã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;
                      }
}
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

                                  Não é eficiente quando o vetor está
       Algoritmo Estável
                                       ordenado inversamente


Eficiente com vetores de poucos   Não é recomendado para vetores
            elementos                  com muitos elementos

Contenu connexe

Plus de César Augusto Pereira (6)

Integração entre Sistemas de Informação
Integração entre Sistemas de InformaçãoIntegração entre Sistemas de Informação
Integração entre Sistemas de Informação
 
Iso
IsoIso
Iso
 
Direito na informática
Direito na informáticaDireito na informática
Direito na informática
 
Qualidade do Serviço (QoS)
Qualidade do Serviço (QoS)Qualidade do Serviço (QoS)
Qualidade do Serviço (QoS)
 
DirectX
DirectXDirectX
DirectX
 
Comércio Eletrônico
Comércio EletrônicoComércio Eletrônico
Comércio Eletrônico
 

Ordenação por Inserção - Estrutura e Implementação

  • 1. Estrutura de Dados Ordenação Por Inserção  Funcionamento  Implementação
  • 2. 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.
  • 3. 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).
  • 4. Implementaçã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; } }
  • 5. 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.
  • 6. Vantagens Desvantagens Fácil Implementação Grande número de movimentações Não é eficiente quando o vetor está Algoritmo Estável ordenado inversamente Eficiente com vetores de poucos Não é recomendado para vetores elementos com muitos elementos