ebook img

Algoritmos de Ordenação e Pesquisa PDF

204 Pages·2010·2.48 MB·Portuguese
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Algoritmos de Ordenação e Pesquisa

Algoritmos de Ordenação e Pesquisa Marco Antonio Moreira de Carvalho Algoritmos e Estrutura de Dados Bibliografia Básica Cormen, Leiserson, Rivest. Introduction l  to Algorithms. 2nd edition. MIT Press, 2001. Capítulos 2, 6, 7, 8. Aho, Alfred V., Hopcroft, John F., l  Ullman, Jeffrey D., Data Structure and Algorithms, Massachusetts: Addison- Wesley, 1987. Capítulo 8. 2 Ordenação e Pesquisa Considerando um conjunto de dados: l  Organizá-los de acordo com algum critério (>, <, ≥, ≤, l  etc.); ou Encontrar algum que atenda um critério específico l  (maior, menor, =, etc.). Estas tarefas devem ser realizadas eficientemente l  O tempo para executá-las depende da quantidade de l  dados envolvidos. Aplicação direta: Organização e manipulação de l  dados. 3 Ordenação e Pesquisa Os elementos são chamados de chaves; l  Pode haver chaves de valores idênticos; l  Os valores não necessariamente são sequenciais. l  Chaves podem ser números, strings, registros, etc. l  4 Estrutura de Dados Vetores l  Mantêm uma série de elementos sequenciais l  mantidos em uma ordem linear como um único, porém, com possibilidade de acesso individual; Cada elemento possui um índice que indica sua l  posição no vetor e permite acessá-lo diretamente; Vetores tem tamanhos fixos. l  0 1 2 3 4 5 Índice 4 8 15 16 23 42 Valor 5 Pesquisa Dado um conjunto de n chaves {k , k , …, k }: l  1 2 n Determinar a existência e/ou determinar a posição de l  determinada chave k; i Determinar a maior, a menor, etc. l  Dada a sequência de chaves abaixo, como l  determinar a existência da chave 8? Não sabemos se as chaves estão ordenadas… ? ? ? ? ? ? 6 Métodos de Pesquisa Pesquisa Sequencial l  Pesquisa Binária l  7 Pesquisa Sequencial Método intuitivo l  : Dada uma chave k, compará-la a cada chave no l  vetor, caso haja uma igual, a chave está no vetor Caso todas as chaves tenham sido comparadas e não l  houve nenhuma igual, a chave não existe no vetor. k = 8 42 16 4 15 8 23 Chave encontrada! 8 Pesquisa Sequencial Código ! ! int Sequencial(int A[], int n, int k, int *posicao)! ! {! ! int i;! //sinaliza se a chave foi encontrada! int achou = 0;! ! ! //para cada chave! for(i=0; i<n; i++)! //compara com a chave de busca! if(A[i] == k)! ! {! //se encontrou! *posicao = i;! //armazena a posição! achou = 1;! ! }! //indica se encontrou ou não! ! return achou;! }! 9 Pesquisa Sequencial Complexidade int Sequencial(int A[], int n, int k, int *posicao)! {! int i;! Custo Repetições int achou = 0;! ! ! ! for(i=0; i<n; i++)! c ! !n! 1 if(A[i] == k)! c n-1! !! 2 {! *posicao = i;! achou = 1;! }! return achou;! }! Tempo = Θ(n) 10

Description:
Selection Sort (Método de Seleção). ○ Quicksort. ○ Heapsort. ○ Bucket Sort (Bin Sort). ○ Radix Sort. ○ Merge Sort (Ordenação por Intercalação)
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.