EDII13 [2012.1] Estruturas de Busca em Texto
-
Upload
kianeledok -
Category
Documents
-
view
337 -
download
0
Transcript of EDII13 [2012.1] Estruturas de Busca em Texto
![Page 1: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/1.jpg)
Prof. Kenia Kodel
![Page 2: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/2.jpg)
UFS - DComp - Prof. Kenia Kodel 2
Organização de Arquivos Arquivos Sequenciais Desordenados Arquivos Sequenciais Ordenados Fisicamente Arquivos Sequenciais Ordenados por Link Arquivos Diretos Mantidos por Dicionário de Dados Arquivos Diretos Mantidos por Hashing Arquivos Sequenciais Indexados Recuperação de Chave Secundária – Multilista Recuperação de Chave Secundária – Arquivos Invertidos Recuperação de Chave Secundária – Árvores de Assinaturas
Estruturas de Busca em Texto
Extrato
![Page 3: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/3.jpg)
UFS - DComp - Prof. Kenia Kodel 3
O que é busca em texto?
![Page 4: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/4.jpg)
UFS - DComp - Prof. Kenia Kodel 4
Busca em texto, ou pesquisa digital, ou
‘casamento de padrões’, ou casamento
de cadeias, consiste na pesquisa de uma
subsequência de símbolos numa
sequência destes (símbolos).
Busca em Texto
![Page 5: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/5.jpg)
UFS - DComp - Prof. Kenia Kodel 5
Pode ter como objetivo encontrar todas
as ocorrências, ou somente a primeira,
de uma dada subsequência numa dada
sequência; a exemplo, de um palavra
em um texto.
Busca em Texto
![Page 6: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/6.jpg)
UFS - DComp - Prof. Kenia Kodel 6
Onde/Quando se aplica busca em
texto?
![Page 7: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/7.jpg)
UFS - DComp - Prof. Kenia Kodel 7
A busca em texto é útil para
gerenciamento de editores de textos,
dicionários, recuperação de dados,
manipulação de símbolos.
Busca em Texto
![Page 8: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/8.jpg)
UFS - DComp - Prof. Kenia Kodel 8
Como efetuar busca em
texto?
![Page 9: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/9.jpg)
UFS - DComp - Prof. Kenia Kodel 9
Na busca digital, diferente do que foi
visto até então, a chave não é tratada
como um elemento único, indivisível.
Assume-se que cada chave é constituída
de um conjunto de caracteres ou dígitos.
Busca em Texto
![Page 10: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/10.jpg)
UFS - DComp - Prof. Kenia Kodel 10
Assim, como a chave não é tratada como
elemento único, ao invés de se comparar a
chave procurada com as chaves do conjunto
armazenado, a comparação é efetuada
caractere a caractere, dentre os caracteres
que compõem as chaves.
Busca em Texto
![Page 11: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/11.jpg)
UFS - DComp - Prof. Kenia Kodel 11
Para efetuar busca em texto, é possível explorar:
Busca em Texto
Algoritmos
KMP (Knuth, Moris e Pratt)BM (Boyer-Moore)
Rabin-KarpEstruturas da Dados
TrieÁrvore Digital
![Page 12: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/12.jpg)
UFS - DComp - Prof. Kenia Kodel 12
Termo proveniente da palavra inglesa retrieval (recuperação), e corresponde a uma estrutura usada para recuperação de dados – de subsequência, em sequência.
TRIE
betotmarcoss
diroruirq
petopdinon
mbell
10igilg
4e2 d3 b
davialdoamarco
10...94321
s
o
ocoioo
itrlrvtld
ueaiiael
rpmgdba
Trie
5
![Page 13: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/13.jpg)
UFS - DComp - Prof. Kenia Kodel 13
Qual a pronúncia correta?
TRIE
betotmarcoss
diroruirq
petopdinon
mbell
10igilg
4e2 d3 b
davialdoamarco
10...94321
s
o
ocoioo
itrlrvtld
ueaiiael
rpmgdba
Trie
5
![Page 14: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/14.jpg)
UFS - DComp - Prof. Kenia Kodel 14
São estruturas em que as chaves são tratadas caractere a caractere. E podem ser implementadas por meio de estruturas sequenciais ou dinâmicas.
TRIE
betotmarcoss
diroruirq
petopdinon
mbell
10igilg
4e2 d3 b
davialdoamarco
10...94321
s
o
ocoioo
itrlrvtld
ueaiiael
rpmgdba
Trie
5
![Page 15: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/15.jpg)
UFS - DComp - Prof. Kenia Kodel 15
tsrqpnmlige
dba
654321
Para economia de espaço algumas letras foram suprimidas.
Construindo uma trie estática para armazenamento das palavras: 1.davi 2.aldo3.beto4.diro 5.peto 6.rui 7.bel 8.gil 9.marco 10.marcos 11.dino
Reserva-se:
![Page 16: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/16.jpg)
UFS - DComp - Prof. Kenia Kodel 16
tsrqpnmlige
dba
654321
Onde inserir davi?
Trie Estática
![Page 17: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/17.jpg)
UFS - DComp - Prof. Kenia Kodel 17
tsrqpnmlige
dba
654321
Inserir aldo.
davi
Construindo uma trie estática para armazenamento das palavras: 1.davi 2.aldo3.beto4.diro 5.peto 6.rui 7.bel 8.gil 9.marco 10.marcos 11.dino
![Page 18: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/18.jpg)
UFS - DComp - Prof. Kenia Kodel 18
tsrqpnmlige
dba
654321
Inserir beto.
davi
aldo
Construindo uma trie estática para armazenamento das palavras: 1.davi 2.aldo3.beto4.diro 5.peto 6.rui 7.bel 8.gil 9.marco 10.marcos 11.dino
![Page 19: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/19.jpg)
UFS - DComp - Prof. Kenia Kodel 19
tsrqpnmlige
dba
654321
Inserir diro.
davi
aldobeto
Construindo uma trie estática para armazenamento das palavras: 1.davi 2.aldo3.beto4.diro 5.peto 6.rui 7.bel 8.gil 9.marco 10.marcos 11.dino
![Page 20: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/20.jpg)
UFS - DComp - Prof. Kenia Kodel 20
tsrqpnmlige
dba
654321
Inserir peto.
2
aldobeto
davi
diro
Construindo uma trie estática para armazenamento das palavras: 1.davi 2.aldo3.beto4.diro 5.peto 6.rui 7.bel 8.gil 9.marco 10.marcos 11.dino
![Page 21: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/21.jpg)
UFS - DComp - Prof. Kenia Kodel 21
tsrqpnmlige
dba
654321
Inserir rui.
2
aldobeto
davi
diro
peto
Construindo uma trie estática para armazenamento das palavras: 1.davi 2.aldo3.beto4.diro 5.peto 6.rui 7.bel 8.gil 9.marco 10.marcos 11.dino
![Page 22: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/22.jpg)
UFS - DComp - Prof. Kenia Kodel 22
tsrqpnmlige
dba
654321
Inserir bel.
2
aldobeto
davi
diro
peto
rui
Construindo uma trie estática para armazenamento das palavras: 1.davi 2.aldo3.beto4.diro 5.peto 6.rui 7.bel 8.gil 9.marco 10.marcos 11.dino
![Page 23: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/23.jpg)
UFS - DComp - Prof. Kenia Kodel 23
tsrqpnmlige
dba
654321
Inserir gil.
2
aldo3
davi
diro
peto
beto
4
bel
rui
Construindo uma trie estática para armazenamento das palavras: 1.davi 2.aldo3.beto4.diro 5.peto 6.rui 7.bel 8.gil 9.marco 10.marcos 11.dino
![Page 24: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/24.jpg)
UFS - DComp - Prof. Kenia Kodel 24
tsrqpnmlige
dba
654321
Inserir marco.
2
aldo3
davi
diro
peto
beto
4
bel
rui
gil
Construindo uma trie estática para armazenamento das palavras: 1.davi 2.aldo3.beto4.diro 5.peto 6.rui 7.bel 8.gil 9.marco 10.marcos 11.dino
![Page 25: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/25.jpg)
UFS - DComp - Prof. Kenia Kodel 25
tsrqpnmlige
dba
654321
Inserir marcos e dino.
2
aldo3
davi
diro
peto
beto
4
bel
rui
marco
gil
Construindo uma trie estática para armazenamento das palavras: 1.davi 2.aldo3.beto4.diro 5.peto 6.rui 7.bel 8.gil 9.marco 10.marcos 11.dino
![Page 26: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/26.jpg)
UFS - DComp - Prof. Kenia Kodel 26
tsrqpnmlige
dba
10...94321
2
aldo3
davi
10
peto
beto
4
bel
rui
marco
5
marcosdiro
dino
gil
Construindo uma trie estática para armazenamento das palavras: 1.davi 2.aldo3.beto4.diro 5.peto 6.rui 7.bel 8.gil 9.marco 10.marcos 11.dino
![Page 27: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/27.jpg)
UFS - DComp - Prof. Kenia Kodel 27
betotmarcoss
diroruirq
petopdinon
mbell
10igilg
4e2 d3 b
davialdoamarco
10...94321
Como efetuar consulta?
5
Trie Estática
![Page 28: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/28.jpg)
UFS - DComp - Prof. Kenia Kodel 28
betotmarcoss
diroruirq
petopdinon
mbell
6igilg
4e2 d3 b
davialdoamarco
10...94321
Como, através desta, por exemplo,
manter um dicionário?
5
Trie Estática
![Page 29: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/29.jpg)
UFS - DComp - Prof. Kenia Kodel 29
betotmarcoss
diroruirq
petopdinon
mbell
6igilg
4e2 d3 b
davialdoamarco
10...94321
Esta estrutura facilita a
implementação do “auto-
completar”?
5
Trie Estática
![Page 30: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/30.jpg)
UFS - DComp - Prof. Kenia Kodel 30
betotmarcoss
diroruirq
petopdinon
mbell
6igilg
4e2 d3 b
davialdoamarco
10...94321
Como dimensionar
esta estrutura?
5
Trie Estática
![Page 31: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/31.jpg)
UFS - DComp - Prof. Kenia Kodel 31
ioo
vtd
ael
dba
Trie
Há aterramento também dos ponteiros “laterais”.
Construindo uma trie dinâmica (cada letra é mantida numa variável dinâmica) para armazenar: davi, aldo, beto, diro, peto, rui, bel, gil , marco, marcos, dino.
![Page 32: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/32.jpg)
UFS - DComp - Prof. Kenia Kodel 32
ioo
vtd
ael
dba
Trie
Inserir diro, peto
e rui?
Construindo uma trie dinâmica (cada letra é mantida numa variável dinâmica) para armazenar: davi, aldo, beto, diro, peto, rui, bel, gil , marco, marcos, dino.
![Page 33: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/33.jpg)
UFS - DComp - Prof. Kenia Kodel 33
ooioo
itrvtd
ueiael
rpdba
TrieConstruindo uma trie dinâmica (cada letra é mantida numa variável dinâmica) para armazenar: davi, aldo, beto, diro, peto, rui, bel, gil , marco, marcos, dino.
![Page 34: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/34.jpg)
UFS - DComp - Prof. Kenia Kodel 34
ooioo
itrvtd
ueiael
rpdba
Trie
Como, inserir bel, gil, marco, marcos e dino?
Construindo uma trie dinâmica (cada letra é mantida numa variável dinâmica) para armazenar: davi, aldo, beto, diro, peto, rui, bel, gil , marco, marcos, dino.
![Page 35: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/35.jpg)
UFS - DComp - Prof. Kenia Kodel 35
s
o
ocoioo
itrlrvtld
ueaiiael
rpmgdba
TrieConstruindo uma trie dinâmica (cada letra é mantida numa variável dinâmica) para armazenar: davi, aldo, beto, diro, peto, rui, bel, gil , marco, marcos, dino.
![Page 36: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/36.jpg)
UFS - DComp - Prof. Kenia Kodel 36
s
o
ocoioo
itrlrvtld
ueaiiael
rpmgdba
Trie
Como “declarar”cada nó?
Trie Dinâmica
![Page 37: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/37.jpg)
UFS - DComp - Prof. Kenia Kodel 37
s
o
ocoioo
itrlrvtld
ueaiiael
rpmgdba
Trie
Composição de cada nó.
próximo carater
próxima
palavra
caracter
Trie Dinâmica
![Page 38: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/38.jpg)
UFS - DComp - Prof. Kenia Kodel 38
s
o
ocoioo
itrlrvtld
ueaiiael
rpmgdba
Trie
Como efetuar consulta nesta?
Trie Dinâmica
![Page 39: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/39.jpg)
UFS - DComp - Prof. Kenia Kodel 39
s
o
ocoioo
itrlrvtld
ueaiiael
rpmgdba
Trie
Como, através desta,
implementar dicionário?
Trie Dinâmica
![Page 40: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/40.jpg)
UFS - DComp - Prof. Kenia Kodel 40
s
o
ocoioo
itrlrvtld
ueaiiael
rpmgdba
Trie
Estrutura útil também para implementação de casamento aproximado de cadeia – quando o usuário da aplicação não tem domínio exato da chave de busca.
Trie Dinâmica
![Page 41: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/41.jpg)
UFS - DComp - Prof. Kenia Kodel 41
Construir trieS (estática e dinâmica) para manter: pinha, jaca, caju, coco, açai, caja e pinhao.
Exercício
![Page 42: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/42.jpg)
UFS - DComp - Prof. Kenia Kodel 42
Que implementação da trie apresenta melhor desempenho: a estática ou a dinâmica? Justifique: (a) em velocidade de processamento, (b) em espaço de armazenamento
Exercício
![Page 43: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/43.jpg)
UFS - DComp - Prof. Kenia Kodel 43
Descrever a implementação do recurso auto-completar a partir de palavras mantidas em tries.
Exercício
![Page 44: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/44.jpg)
UFS - DComp - Prof. Kenia Kodel 44
Uma árvore digital para um alfabeto S com m caracteres
(com itens ordenáveis) é uma
árvore m-ária T, não vazia, tal que:
1. Se um nó qualquer x é o i-ésimo filho de
seu pai, então x corresponde ao i-
ésimo item do alfabeto S, sendo
1<=i<=m.
Árvore Digital de Pesquisa
d
o
b
e
l t
o
d
a
v
i
i
n
o
r
o
a
![Page 45: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/45.jpg)
UFS - DComp - Prof. Kenia Kodel 45
Uma árvore digital para um alfabeto S com m caracteres
(com itens ordenáveis) é uma árvore m-ária T,
não vazia, tal que:
2. Para cada nó x, a sequência de dígitos
definida pelo caminho desde a raiz de T até x
corresponde no todo, ou em parte, a uma chave de pesquisa.
Árvore Digital de Pesquisa
d
o
b
e
l t
o
d
a
v
i
i
n
o
r
o
a
![Page 46: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/46.jpg)
UFS - DComp - Prof. Kenia Kodel 46
d
o
b
e
l t
o
d
a
v
i
i
n
o
r
o
m p r
a
r
a
c
l
o
s
e
t
o
u
i
Como inserir: eva, tel, marcus e bela?
Árvore Digital de Pesquisa
![Page 47: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/47.jpg)
UFS - DComp - Prof. Kenia Kodel 47
d
o
b
e
l t
o
d
a
v
i
i
n
o
r
o
m p r
a
r
a
c
l
o
s
e
t
o
u
i
Como efetuar consulta nesta?
Árvore Digital de Pesquisa
![Page 48: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/48.jpg)
UFS - DComp - Prof. Kenia Kodel 48
d
o
b
e
l t
o
d
a
v
i
i
n
o
r
o
m p r
a
r
a
c
l
o
s
e
t
o
u
i
Como, a partir desta, pode ser implementado um dicionário?
Árvore Digital de Pesquisa
![Page 49: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/49.jpg)
UFS - DComp - Prof. Kenia Kodel 49
Construir árvore digital para manter: pinha, jaca, caju, coco, açai, caja e pinhao.
Exercício
![Page 50: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/50.jpg)
UFS - DComp - Prof. Kenia Kodel 50
Descrever a operação de consulta, a uma determinada palavra, numa árvore digital de pesquisa.
Exercício
![Page 51: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/51.jpg)
UFS - DComp - Prof. Kenia Kodel 51
Elaborar declaração de uma árvore digital de pesquisa, considerando o nosso alfabeto.
Exercício
![Page 52: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/52.jpg)
UFS - DComp - Prof. Kenia Kodel 52
Como estrutura de busca em texto, há ainda as árvores digitais binárias de pesquisa. Estas são compostas com base no código binário correspondente às chaves de pesquisas. Ou seja, corresponde a uma árvore digital de pesquisa cujo alfabeto apresenta somente dois itens.
Árvore Digital de Pesquisa
28
17
12
40
30
18 27
Árvore digital de pesquisa com os dados: 28(011100)
17(010001) 30(011110) 27(011011) 40(101000) 12(001100) 18(010010)
![Page 53: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/53.jpg)
UFS - DComp - Prof. Kenia Kodel 53
28Construindo uma árvore digital de pesquisa com os
dados: 28(011100) 17(010001) 30(011110) 27(011011) 40(101000) 12(001100) 18(010010)
O primeiro dado inserido pode ser mantido na raiz da árvore. Mas há autores que consideram que a raiz da árvore não armazena dados, nem corresponde a qualquer dígito/dado.
Árvore Digital de Pesquisa
![Page 54: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/54.jpg)
UFS - DComp - Prof. Kenia Kodel 54
28
17
A partir da segunda entrada, analisa-se a composição binária da chave, de primeiro ao último bit. Se o bit for 0 segue para esquerda da estrutura, se 1, pela direita.
Construindo uma árvore digital de pesquisa com os dados: 28(011100)
17(010001) 30(011110) 27(011011) 40(101000) 12(001100) 18(010010)
Árvore Digital de Pesquisa
![Page 55: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/55.jpg)
UFS - DComp - Prof. Kenia Kodel 55
28
17
A partir da análise da composição binária da chave, esta pode ser armazenada no nó da estrutura, ou seja, adota-se o mesmo critério usado para composição das árvores digitais; onde as arestas definem a composição da chave.
Construindo uma árvore digital de pesquisa com os dados: 28(011100)
17(010001) 30(011110) 27(011011) 40(101000) 12(001100) 18(010010)
Árvore Digital de Pesquisa
![Page 56: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/56.jpg)
UFS - DComp - Prof. Kenia Kodel 56
28
17
30
Iniciando pela raiz, o primeiro bit de 30 é 0, deve-se seguir pela esquerda, a qual está ocupada. O segundo bit é 1, segue-se pela direta, como é encontrado aterramento, este é o ponto de inserção.
Árvore Digital de Pesquisa
Construindo uma árvore digital de pesquisa com os
dados: 28(011100) 17(010001) 30(011110) 27(011011) 40(101000) 12(001100) 18(010010)
![Page 57: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/57.jpg)
UFS - DComp - Prof. Kenia Kodel 57
28
17
30
Árvore Digital de PesquisaConstruindo uma árvore digital de pesquisa com os dados: 28(011100)
17(010001) 30(011110) 27(011011) 40(101000) 12(001100) 18(010010)
Como inserir os outros elementos na estrutura:
![Page 58: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/58.jpg)
UFS - DComp - Prof. Kenia Kodel 58
28
17
12
40
30
18 27
Árvore Digital de Pesquisa
Construindo uma árvore digital de pesquisa com os
dados: 28(011100) 17(010001) 30(011110) 27(011011) 40(101000) 12(001100) 18(010010) Como efetuar
consulta nesta?
![Page 59: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/59.jpg)
UFS - DComp - Prof. Kenia Kodel 59
28
17
12
40
30
18 27
A consulta é efetuada a partir do código binário correspondente à chave de pesquisa seguindo os mesmos critérios usados na construção da estrutura.
Árvore Digital de PesquisaConstruindo uma
árvore digital de pesquisa com os
dados: 28(011100) 17(010001) 30(011110) 27(011011) 40(101000) 12(001100) 18(010010)
![Page 60: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/60.jpg)
UFS - DComp - Prof. Kenia Kodel 60
28
17
12
40
30
18 27
Esta estrutura é passível de degeneração, como a maioria das árvores de busca.
Árvore Digital de Pesquisa
![Page 61: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/61.jpg)
UFS - DComp - Prof. Kenia Kodel 61
28
17
12
40
30
18 27
Árvore Digital de PesquisaConstruindo uma
árvore digital de pesquisa com os
dados: 28(011100) 17(010001) 30(011110) 27(011011) 40(101000) 12(001100) 18(010010) Como efetuar
exclusão nesta?
![Page 62: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/62.jpg)
UFS - DComp - Prof. Kenia Kodel 62
28
17
12
40
30
18 27
Na exclusão qualquer nó pode ser substituído por seus sucessores; de preferência uma folha.
Árvore Digital de PesquisaConstruindo uma
árvore digital de pesquisa com os
dados: 28(011100) 17(010001) 30(011110) 27(011011) 40(101000) 12(001100) 18(010010)
![Page 63: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/63.jpg)
UFS - DComp - Prof. Kenia Kodel 63
28
17
12
40
30
18 27
Árvore Digital de PesquisaConstruindo uma
árvore digital de pesquisa com os
dados: 28(011100) 17(010001) 30(011110) 27(011011) 40(101000) 12(001100) 18(010010)
Onde aplicar esta?
![Page 64: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/64.jpg)
UFS - DComp - Prof. Kenia Kodel 64
28
17
12
40
30
18 27
Podem ser aplicadas, por exemplo, em operação de baixo nível, para facilitar a comparação de símbolos.
Árvore Digital de PesquisaConstruindo uma
árvore digital de pesquisa com os
dados: 28(011100) 17(010001) 30(011110) 27(011011) 40(101000) 12(001100) 18(010010)
![Page 65: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/65.jpg)
UFS - DComp - Prof. Kenia Kodel 65
Partindo da árvore digital dada, efetue a inclusão das chaves 19, 50, 01 e 23.
Exercício
28
17
12
40
30
18 27
![Page 66: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/66.jpg)
UFS - DComp - Prof. Kenia Kodel 66
Partindo da árvore digital dada, efetue a exclusão das chaves 30.
Exercício
28
17
12
40
30
18 27
![Page 67: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/67.jpg)
UFS - DComp - Prof. Kenia Kodel 67
Descreva os passos gerais da operação de
consulta em árvores digitais de pesquisa.
Exercício
![Page 68: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/68.jpg)
68 UFS - DComp - Prof. Kenia Kodel
Complementar Estudos...
File Organization and ProcessingAllan L Tharp
Capítulo 11Other Tree Structures
Tries & Digital Search Trees
![Page 69: EDII13 [2012.1] Estruturas de Busca em Texto](https://reader036.fdocumentos.com/reader036/viewer/2022082219/55592b34d8b42a543d8b46a9/html5/thumbnails/69.jpg)
69UFS - DCOMP - Prof. Kenia Kodel
Árvores B e B+
Próximos passos...
UFS - DCOMP - Prof. Kenia Kodel
69