Ordenação e busca
ALGESD 2010 02 Ordenação e Busca Ordenação e Busca
Prof. Dr. Marcelo Duduchi
As tarefas relacionadas à ordenação e busca são muito utilizadas pelo ser humano; Muitas vezes a ordenação dos elementos facilita o processo de busca e a organização geral dos elementos e por isso ele é muito importante; Sempre que procuramos um número telefone na agenda do celular ou uma palavra no dicionário estamos realizando a tarefa de busca;
Ordenação
São diversas as oportunidades onde necessitamos que os dados se apresentem numa determinada ordem; A apresentação dos dados em ordem facilita uma série de tarefas e por isso é importante estudarmos como realizar esta tarefa; Tal atividade nos permite conhecer melhor a manipulação de vetores e estudar a complexidade de algoritmos; Selection Sort Insertion Sort Bubble Sort
Ordenação
Os três primeiros algoritmos apresentados serão:
Selection Sort
O método Selection Sort ou ordenação por seleção tem este nome porque está baseado na seleção do menor valor do conjunto de elementos; A cada iteração o menor do conjunto de elementos é encontrado e trocado com o primeiro elemento do conjunto;
Selection Sort
34 56 04 10 77 51 93 30 05 52 34 56 04 10 77 51 93 30 05 52 04 56 34 10 77 51 93 30 05 52 04 05 34 10 77 51 93 30 56 52 04 05 10 34 77 51 93 30 56 52 04 05 10 30 77 51 93 34 56 52 04 05 10 30 34 51 93 77 56 52 04 05 10 30 34 51 93 77 56 52 04 05 10 30 34 51 52 77 56 93 04 05 10 30 34 51 52 56 77 93 04 05 10 30 34 51 52 56 77 93
Selection Sort public static void selectSort(int vet [ ]) { int menor; // loop até o último elemento for ( int i = 0; i < vet.length - 1; i++ ) { menor = i; // acha o índice do menor a partir de i // acha o índice do menor a partir de i for ( int j = i + 1; j < vet.length; j++ ) if ( vet [ j ] < vet [ menor ] ) menor = j; // troca i com o menor int aux = vet [ i ]; vet [ i ] = vet [menor]; vet [ menor ] = aux;
Bubble Sort
O método Bubble Sort também chamado de ordenação