A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmos de Ordenação

Apresentações semelhantes


Apresentação em tema: "Algoritmos de Ordenação"— Transcrição da apresentação:

1 Algoritmos de Ordenação
Estrutura de Dados Algoritmos de Ordenação Registros (Estrutura de Dados Heterogêneas)

2 Visão Global O conceito de um conjunto ordenado de elementos tem considerável impacto sobre nossa vida cotidiana. Exemplos: Localizar um número telefônico em catálogo; Procurar um livro em biblioteca tradicional ou virtual; Saber qual o próximo documento a ser impresso pela impressora em um departamento da empresa; Saber qual o próximo processo a ser executado pelo processador de uma máquina qualquer; etc...

3 Introdução Algoritmo de ordenação em ciência da computação é um algoritmo que coloca os elementos de uma dada sequência em uma certa ordem. Em outras palavras, efetua sua ordenação completa ou parcial. Existem várias razões para se ordenar uma seqüência Uma delas é a possibilidade se acessar seus dados de modo mais eficiente. Além de permitir seu agrupamento em classes e ainda a atualização de arquivos seqüenciais 3

4 Algoritmos de ordenação
1- Bubble sort 2- Selection Sort 3 – Insertion Sort 4 - Quick sort (vocês já viram) 5 - Shell sort (Pesquisa do aluno) 6 - Merge sort (Pesquisa do aluno) 7 - Radix sort (Pesquisa do aluno)

5 Bubble sort Compara dois elementos consecutivos de um vector e se o da esquerda é maior que o da direita trocam de posição. Quando existem trocas, os elementos maiores tendem a deslocar-se para a direita e os menores para a esquerda. 5

6 Exemplo – BubbleSort (1/3)
Suponha que se deseja classificar em ordem crescente o seguinte vetor de chaves [28, 26, 30, 24, 25]. Primeira Varredura compara par (28, 26): troca compara par (28, 30): não troca compara par (30, 24): troca compara par (30, 25): troca Maior chave em sua posição definitiva fim da primeira varredura

7 Exemplo – BubbleSort (2/3)
Vetor inicial de chaves [28, 26, 30, 24, 25]. Resultado do fim da primeira varredura Segunda Varredura compara par (26, 28) : não troca compara par (28, 24) : troca compara par (28, 25) : troca (não precisa comparar) fim da segunda varredura

8 Exemplo – BubbleSort (3/3)
Vetor de chaves [28, 26, 30, 24, 25] a ser ordenado. Resultado do fim da segunda varredura Terceira Varredura compara par (26, 24) : troca compara par (26, 25) : troca (não precisa comparar) Fim da terceira varredura Durante a quarta varredura, nenhuma troca ocorrerá e a execução do algoritmo terminará.

9 Bubble sort - Implmentação
private void bubblesort(int vetor[]) { int temp; boolean alterado = true; imprimir(vetor); while (alterado) { temp = 0; alterado = false; for (int j = 0; j < vetor.length - 1; j++) { if (vetor[j] > vetor[j + 1]) { temp = vetor[j + 1]; vetor[j + 1] = vetor[j]; vetor[j] = temp; alterado = true; } 9

10 Conclusões Os algoritmos de ordenação por bolha: → São muito simples
→ Eficazes apenas para uma pequena quantidade de dados. ■ Realiza um grande número de comparações pelo vetor para ser ordenado; 10


Carregar ppt "Algoritmos de Ordenação"

Apresentações semelhantes


Anúncios Google