• Nenhum resultado encontrado

Análise de Algoritmos de Busca

N/A
N/A
Protected

Academic year: 2021

Share "Análise de Algoritmos de Busca"

Copied!
66
0
0

Texto

(1)

Análise de Algoritmos

de Busca

Prof. Danilo Medeiros Eler danilo.eler@unesp.br

Apresentação adaptada (ver referências)

FCT/Unesp – Presidente Prudente

Departamento de Matemática e Computação

Departamento de Matemática e Computação Faculdade de Ciências e Tecnologia Unesp – Universidade Estadual Paulista

(2)

2

Introdução

 Busca é uma tarefa muito comum em

computação

 Certos métodos de organização/ordenação

de dados podem tornar o processo de busca mais eficiente

 Vários métodos e estruturas de dados podem

(3)

3

Introdução

(4)

4

Termos Relacionados

(5)

5

Termos Relacionados

(6)

6

Termos Relacionados

(7)

7

Tipos de Busca

 Alguns dos tipos de busca são

 Busca Sequencial  Busca Binária

 Busca em Árvores  Hashing

 O objetivo é encontrar um dado registro com

o menor custo

(8)

Busca Sequencial

(9)

9

Busca Sequencial

(10)

10

Busca Sequencial

(11)

11

Busca Sequencial

(12)

12

Busca Sequencial

(13)

13

Busca Sequencial

(14)

14

Busca Sequencial

(15)

15

Busca Sequencial

(16)

16

Busca Sequencial

(17)

17

Busca Sequencial

(18)

18

Outra Representação

(19)

19

Representação

 Vetor

(20)

Busca Sequencial

 Complexidade

 Se o registro for o primeiro: 1 comparação  Se o registro procurado for o último: N

comparações

 Se a busca for mal sucedida: N comparações

 Logo, a busca sequência, no pior caso é O(n)

(21)

Busca Sequencial

 Complexidade

 Se for igualmente provável que a chave de busca

apareça em qualquer posição da tabela?

(22)

Busca Sequencial

 Complexidade

 Se for igualmente provável que a chave de busca

apareça em qualquer posição da tabela?

22

n

n

n

n

n

n

n

2

3

...

1

1

(23)

Busca Sequencial

 Complexidade de Caso Médio

 Se for igualmente provável que a chave de busca

apareça em qualquer posição da tabela?

23 2 ) 1 ( 2 ) 1 ( ) 2 ) 1 ( ( 1 ) 1 ... 3 2 1 ( 1 1 ... 3 2 1                  n n n n n n n n n n n n n n n n n

(24)

24

Busca Sequencial

 Se os dados estiverem ordenados, há diferença na

(25)

Busca Binária

(26)

26

Busca Binária

(27)

27

Busca Binária

(28)

28

Busca Binária

(29)

29

Busca Binária

(30)

30

Busca Binária

(31)

31

Busca Binária

(32)

32

Busca Binária

BUSCA-BINÁRIA (V[], início, fim, e) i = meio(início, fim); se (v[i] == e) retorna i; fimse se (inicio == fim) retorna -1; senão se (V[i] < e)

BUSCA-BINÁRIA(V, i+1, fim, e);

senão

BUSCA-BINÁRIA(V, inicio, i-1, e);

fimse fimse

(33)

33

Busca Binária

(34)

34

Busca Binária

(35)

35

Busca Binária

 Melhor Caso

 Ocorre quando o elemento buscado é o que está

na posição central do vetor

 A busca ocorre em tempo constante, sendo

necessária uma única comparação

 Pior Caso

 Ocorre quando a busca é executada até a última

divisão do vetor (inicio == fim). Esse é o caso em que o elemento buscado está nessa última ou

quando ele não está no vetor

 O custo computacional é O(log n)

(36)

Busca em Árvores

(37)

37

Busca em Árvores

 Na busca em árvores, o melhor caso ocorre

quando a árvore está balanceada, tendo o custo da busca binária (log n)

(38)

38

Busca em Árvores

 O pior caso ocorre quando os elementos são

inseridos em ordem e a árvore não é

balanceada. Nesse caso, a busca ocorre em O(n)

(39)

Hashing

(40)

40

Hashing

 Técnica que busca realizar as operações de

inserção, remoção e busca em tempo constante

 Essa característica é muito importante

quando se trabalha com armazenamento

secundário em disco

 Acesso a um determinado endereço é bastante

(41)

41

Hashing

(42)

42

Hashing

(43)

43

Hashing

(44)

44

Hashing

(45)

45

Hashing

(46)

46

Hashing

(47)

47

Hashing

(48)

48

Hashing

(49)

49

Hashing

(50)

50

Hashing

(51)

51

Hashing

(52)

52

Hashing

(53)

53

Hashing

(54)

54

Hashing

 Há muitos tipos de funções hash e muitas

maneiras de tratar as colisões

 Qual a complexidade de tempo de busca de

(55)

55

Hashing

 Há muitos tipos de funções hash e muitas

maneiras de tratar as colisões

 Qual a complexidade de tempo de busca de

(56)

Busca Indexada

(57)

57

Busca Indexada

(58)

58

Busca Indexada

(59)

59

Busca Indexada

(60)

60

Busca Indexada

(61)

61

Busca Indexada

(62)

62

Busca Indexada

 Em tabelas com índices podemos utilizar os

dois tipos de busca apresentados

 Elas são primeiramente aplicadas no índice e

(63)
(64)

64

Busca Indexada

(65)

65

Adaptado de

(66)

66

Referências Bibliográficas

 CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L.; (2002).

Algoritmos –Teoria e Prática. Tradução da 2ª edição americana. Rio de Janeiro. Editora Campus

 TAMASSIA, ROBERTO; GOODRICH, MICHAEL T. (2004).

Projeto de Algoritmos -Fundamentos, Análise e Exemplos da Internet

 ZIVIANI, N. (2007). Projeto e Algoritmos com implementações

Referências

Documentos relacionados

Gerir uma vila alentejana no século XV: as finanças municipais de Elvas em 1432-1433 FRAGMENTA

No norte e no extremo norte do país, onde se encontram as ins- talações médicas da obra missioná- ria, a assistência médica não está assegurada, bem como no hospital.. em

Constitui objeto do presente Edital a seleção e contratação de sociedade empresária especializada na execução de serviços de engenharia elétrica, visando a

 Para iniciar uma árvore binária de busca, basta que o ponteiro para a raiz seja apontado para NULL.. NoArv* abb_cria (void) {

Visto que no Brasil esta aplicação em grande escala é praticamente nula, torna-se um atrativo acadêmico o estudo dos impactos da inserção de unidades

Puxe a alça lateral segurando pela fivela que você alcançou trazendo-a para baixo e cruzando suas costas até encontrar a outra parte da fivela que está no painel.. Feche a fivela

Tendo em vista que tal árvore, desbalanceada, exige mais tempo para a localização de uma folha, uma estrutura alternativa para a construção da árvore binária de busca do

show epimastigotes of Trypanosoma cruzi isolated from Triatoma vitticeps on the 10th day of the growth curve in samples SMM98, SMM36 and SMM1; (B) Dendrogram show