Estrutura de Dados- Tipos Ordenação

857 palavras 4 páginas
TRABALHO DE ESTRUTURA DE DADOS

Métodos Simples:

- Insertion sort: É 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.

Exemplo:

FUNÇÃO INSERTION_SORT (A[], tamanho)
VARIÁVEIS
i, ,j eleito PARA I = input.size //see shellsort for similar idea if input[i] > input[i+gap] swap(input[i], input[i+gap]) swaps := 1 // Flag a swap has occurred, so the
// list is not guaranteed sorted end if i := i + 1 end loop end loop end function

Métodos Sofisticados:
- Merge sort: É um exemplo de algoritmo de ordenação do tipo dividir-para-conquistar.
Sua ideia básica consiste em Dividir (o problema em vários subproblemas e resolver esses subproblemas através da recursividade) e Conquistar(após todos os sub-problemas terem sido resolvidos ocorre a conquista que é a união das resoluções dos sub-problemas). Como o algoritmo do Merge Sort usa a recursividade em alguns problemas esta técnica não é muito eficiente devido ao alto consumo de memória e tempo de execução.

Exemplo:

#include
#include
#include

std::vector merge_sort(const std::vector &data)
{
if (data.size() = 0; --i )
{
maxHeapify(lista, i , tam );
}

std::vector::reverse_iterator elem;

for( elem = lista.rbegin(); elem != lista.rend(); elem++ )
{
std::iter_swap( elem, lista.begin() ); maxHeapify( lista, 0, --tam );
}
}

template void maxHeapify( std::vector &lista, const int pos, const int n )
{
int max = 2 * pos + 1;

if( max < n )
{
if( (max+1) < n && lista.at(max) < lista.at(max+1) )
{
++max;
}
if( lista.at(max) > lista.at(pos) )
{
std::swap( lista[max], lista[pos] ); maxHeapify( lista, max, n );
}
}
}

- Shell sort: O algoritmo

Relacionados

  • atps
    3648 palavras | 15 páginas
  • Matrizes
    781 palavras | 4 páginas
  • Pesquisa e Ordenação de dados
    775 palavras | 4 páginas
  • Ordenacao 1x2
    1897 palavras | 8 páginas
  • Desenvolvimento de Sistema para Análise de Performance de Algoritmos de Ordenação de Dados
    2731 palavras | 11 páginas
  • métodos de ordenação
    2226 palavras | 9 páginas
  • AV2 - ESTRUTURA DE DADOS
    957 palavras | 4 páginas
  • Ordenação
    8171 palavras | 33 páginas
  • O trabalho
    5576 palavras | 23 páginas
  • Ordenação Externa: Intercalação Polifásica
    1318 palavras | 6 páginas