Árvores digitais -...
TRANSCRIPT
![Page 1: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/1.jpg)
Árvores Digitais
Letícia Rodrigues Bueno
UFABC
![Page 2: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/2.jpg)
Busca Digital
![Page 3: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/3.jpg)
Busca Digital
• Problema geral de busca: conjunto de chaves S e chavex a localizar em S;
![Page 4: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/4.jpg)
Busca Digital
• Problema geral de busca: conjunto de chaves S e chavex a localizar em S;
• Assumido até agora:
![Page 5: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/5.jpg)
Busca Digital
• Problema geral de busca: conjunto de chaves S e chavex a localizar em S;
• Assumido até agora:• chaves são elementos indivisíveis;
![Page 6: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/6.jpg)
Busca Digital
• Problema geral de busca: conjunto de chaves S e chavex a localizar em S;
• Assumido até agora:• chaves são elementos indivisíveis;• tamanho da chave permite armazenamento em memória
de forma eficiente;
![Page 7: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/7.jpg)
Busca Digital
• Problema geral de busca: conjunto de chaves S e chavex a localizar em S;
• Assumido até agora:• chaves são elementos indivisíveis;• tamanho da chave permite armazenamento em memória
de forma eficiente;• chaves têm mesmo tamanho;
![Page 8: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/8.jpg)
Busca Digital
• Problema geral de busca: conjunto de chaves S e chavex a localizar em S;
• Assumido até agora:• chaves são elementos indivisíveis;• tamanho da chave permite armazenamento em memória
de forma eficiente;• chaves têm mesmo tamanho;
• E se a busca consistir em frases em texto literário?
![Page 9: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/9.jpg)
Busca Digital
• Problema geral de busca: conjunto de chaves S e chavex a localizar em S;
• Assumido até agora:• chaves são elementos indivisíveis;• tamanho da chave permite armazenamento em memória
de forma eficiente;• chaves têm mesmo tamanho;
• E se a busca consistir em frases em texto literário?
• Utilizamos busca digital;
![Page 10: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/10.jpg)
Busca Digital
• Problema geral de busca: conjunto de chaves S e chavex a localizar em S;
• Assumido até agora:• chaves são elementos indivisíveis;• tamanho da chave permite armazenamento em memória
de forma eficiente;• chaves têm mesmo tamanho;
• E se a busca consistir em frases em texto literário?
• Utilizamos busca digital;
• Estrutura utilizada: árvore digital;
![Page 11: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/11.jpg)
Árvores Digitais ou Trie
![Page 12: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/12.jpg)
Árvores Digitais ou Trie
• Trie: originado de “information reTRIEval” devido aaplicação em recuperação de informação;
![Page 13: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/13.jpg)
Árvores Digitais ou Trie
• Trie: originado de “information reTRIEval” devido aaplicação em recuperação de informação;
• Na comparação de chaves:
![Page 14: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/14.jpg)
Árvores Digitais ou Trie
• Trie: originado de “information reTRIEval” devido aaplicação em recuperação de informação;
• Na comparação de chaves:• NÃO compara chave procurada com chaves do conjunto
armazenado;
![Page 15: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/15.jpg)
Árvores Digitais ou Trie
• Trie: originado de “information reTRIEval” devido aaplicação em recuperação de informação;
• Na comparação de chaves:• NÃO compara chave procurada com chaves do conjunto
armazenado;• SIM, compara dígitos da chave individualmente.
Número de passos igual tamanho da chave;
![Page 16: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/16.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
![Page 17: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/17.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
Alfabeto:{e, r , s}
![Page 18: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/18.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
e
Alfabeto:{e, r , s}
![Page 19: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/19.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
es
Alfabeto:{e, r , s}
![Page 20: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/20.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
ess
Alfabeto:{e, r , s}
![Page 21: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/21.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
esse
Alfabeto:{e, r , s}
![Page 22: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/22.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
esses
Alfabeto:{e, r , s}
![Page 23: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/23.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
erre
erres
es
esse
esses
se
ser
serre
re
res
rese
reses
serres
seres
![Page 24: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/24.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
erre
erres
es
esse
esses
se
ser
serre
re
res
rese
reses
serres
seres
![Page 25: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/25.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
erre
erres
es
esse
esses
se
ser
serre
re
res
rese
reses
serres
seres
![Page 26: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/26.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
erre
erres
es
esse
esses
se
ser
serre
re
res
rese
reses
serres
seres
![Page 27: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/27.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
erre
erres
es
esse
esses
se
ser
serre
re
res
rese
reses
serres
seres
![Page 28: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/28.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
erre
erres
es
esse
esses
se
ser
serre
re
res
rese
reses
serres
seres
![Page 29: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/29.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
erre
erres
es
esse
esses
se
ser
serre
re
res
rese
reses
serres
seres
![Page 30: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/30.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
erre
erres
es
esse
esses
se
ser
serre
re
res
rese
reses
serres
seres
![Page 31: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/31.jpg)
Árvores Digitais ou Trie
![Page 32: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/32.jpg)
Árvores Digitais ou Trie
• Conjunto chaves: S = {s1, s2, . . . , sn};
![Page 33: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/33.jpg)
Árvores Digitais ou Trie
• Conjunto chaves: S = {s1, s2, . . . , sn};
• si é sequência dígitos dj ;
![Page 34: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/34.jpg)
Árvores Digitais ou Trie
• Conjunto chaves: S = {s1, s2, . . . , sn};
• si é sequência dígitos dj ;
• Alfabeto de S: d1 < d2 < . . . < dm;
![Page 35: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/35.jpg)
Árvores Digitais ou Trie
• Conjunto chaves: S = {s1, s2, . . . , sn};
• si é sequência dígitos dj ;
• Alfabeto de S: d1 < d2 < . . . < dm;
• p primeiros dígitos de chave: prefixo;
![Page 36: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/36.jpg)
Árvores Digitais ou Trie
• Conjunto chaves: S = {s1, s2, . . . , sn};
• si é sequência dígitos dj ;
• Alfabeto de S: d1 < d2 < . . . < dm;
• p primeiros dígitos de chave: prefixo;
• Árvore digital é árvore m-ária T não vazia onde:
![Page 37: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/37.jpg)
Árvores Digitais ou Trie
• Conjunto chaves: S = {s1, s2, . . . , sn};
• si é sequência dígitos dj ;
• Alfabeto de S: d1 < d2 < . . . < dm;
• p primeiros dígitos de chave: prefixo;
• Árvore digital é árvore m-ária T não vazia onde:1. Nó v é j-ésimo filho de seu pai⇒ v corresponde dígito dj ;
![Page 38: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/38.jpg)
Árvores Digitais ou Trie
• Conjunto chaves: S = {s1, s2, . . . , sn};
• si é sequência dígitos dj ;
• Alfabeto de S: d1 < d2 < . . . < dm;
• p primeiros dígitos de chave: prefixo;
• Árvore digital é árvore m-ária T não vazia onde:1. Nó v é j-ésimo filho de seu pai⇒ v corresponde dígito dj ;2. Sequência de dígitos da raiz até um nó corresponde a
prefixo de alguma chave de S.
![Page 39: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/39.jpg)
Exemplo de Árvore Digital
r
r s
e r s
s
e
s
e
s
e
s
e
s
e
r
r
e
s
e
s
Árvore ternária;
Alfabeto:{e, r , s} ∴ e < r < s
m = 3
S = {erre,erres,es,esse,esses, se,ser , serre, re,res, rese, reses,serres, seres}
![Page 40: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/40.jpg)
Árvores Digitais: algoritmo de busca
1 buscaDigital(x , pt , l, a):2 se l < k então3 seja j a posição de d(l + 1)
na ordenação do alfabeto4 se pt .pont[j] 6= null então5 pt ← pt .pont[j];6 l ← l + 1;7 buscaDigital(x , pt , l, a);8 senão se pt .terminal = true então9 a← 1;
![Page 41: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/41.jpg)
Árvores Digitais: algoritmo de busca
1 buscaDigital(x , pt , l, a):2 se l < k então3 seja j a posição de d(l + 1)
na ordenação do alfabeto4 se pt .pont[j] 6= null então5 pt ← pt .pont[j];6 l ← l + 1;7 buscaDigital(x , pt , l, a);8 senão se pt .terminal = true então9 a← 1;
Análise da complexidade:
![Page 42: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/42.jpg)
Árvores Digitais: algoritmo de busca
1 buscaDigital(x , pt , l, a):2 se l < k então3 seja j a posição de d(l + 1)
na ordenação do alfabeto4 se pt .pont[j] 6= null então5 pt ← pt .pont[j];6 l ← l + 1;7 buscaDigital(x , pt , l, a);8 senão se pt .terminal = true então9 a← 1;
Análise da complexidade:
• Linha 3: gastaO(log m) usandobusca binária;
![Page 43: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/43.jpg)
Árvores Digitais: algoritmo de busca
1 buscaDigital(x , pt , l, a):2 se l < k então3 seja j a posição de d(l + 1)
na ordenação do alfabeto4 se pt .pont[j] 6= null então5 pt ← pt .pont[j];6 l ← l + 1;7 buscaDigital(x , pt , l, a);8 senão se pt .terminal = true então9 a← 1;
Análise da complexidade:
• Linha 3: gastaO(log m) usandobusca binária;
• Complexidade total:O(k · log m);
![Page 44: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/44.jpg)
Árvores Digitais: algoritmo de busca
1 buscaDigital(x , pt , l, a):2 se l < k então3 seja j a posição de d(l + 1)
na ordenação do alfabeto4 se pt .pont[j] 6= null então5 pt ← pt .pont[j];6 l ← l + 1;7 buscaDigital(x , pt , l, a);8 senão se pt .terminal = true então9 a← 1;
Análise da complexidade:
• Linha 3: gastaO(log m) usandobusca binária;
• Complexidade total:O(k · log m);
• Representação bináriade dígitos fazcomplexidade: O(k);
x é a chave procurada com k dígitos e k é o tamanho da chave.Chamada inicial:l ← 0; a← 0; buscaDigital(x , raiz, l ,a)
![Page 45: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/45.jpg)
Árvores Digitais: algoritmo de inserção
1 insereDigital(x , pt):2 pt ← ptraiz; l ← a← 0;3 buscaDigital(x , pt , l, a);4 se a = 0 então5 para h = l + 1, . . . , k faça6 seja j a posição de
d(h) no alfabeto;7 ocupar(ptz);8 para i = 1, . . . ,m faça9 ptz.pont[i]← null;
10 pt .pont[j] ← ptz;11 ptz.terminal ← false;12 pt ← ptz;13 pt .terminal ← true;14 senão “inclusão inválida”;
![Page 46: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/46.jpg)
Árvores Digitais: algoritmo de inserção
1 insereDigital(x , pt):2 pt ← ptraiz; l ← a← 0;3 buscaDigital(x , pt , l, a);4 se a = 0 então5 para h = l + 1, . . . , k faça6 seja j a posição de
d(h) no alfabeto;7 ocupar(ptz);8 para i = 1, . . . ,m faça9 ptz.pont[i]← null;
10 pt .pont[j] ← ptz;11 ptz.terminal ← false;12 pt ← ptz;13 pt .terminal ← true;14 senão “inclusão inválida”;
Análise da complexidade:
![Page 47: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/47.jpg)
Árvores Digitais: algoritmo de inserção
1 insereDigital(x , pt):2 pt ← ptraiz; l ← a← 0;3 buscaDigital(x , pt , l, a);4 se a = 0 então5 para h = l + 1, . . . , k faça6 seja j a posição de
d(h) no alfabeto;7 ocupar(ptz);8 para i = 1, . . . ,m faça9 ptz.pont[i]← null;
10 pt .pont[j] ← ptz;11 ptz.terminal ← false;12 pt ← ptz;13 pt .terminal ← true;14 senão “inclusão inválida”;
Análise da complexidade:
• Seja k1 + k2 = k ;
![Page 48: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/48.jpg)
Árvores Digitais: algoritmo de inserção
1 insereDigital(x , pt):2 pt ← ptraiz; l ← a← 0;3 buscaDigital(x , pt , l, a);4 se a = 0 então5 para h = l + 1, . . . , k faça6 seja j a posição de
d(h) no alfabeto;7 ocupar(ptz);8 para i = 1, . . . ,m faça9 ptz.pont[i]← null;
10 pt .pont[j] ← ptz;11 ptz.terminal ← false;12 pt ← ptz;13 pt .terminal ← true;14 senão “inclusão inválida”;
Análise da complexidade:
• Seja k1 + k2 = k ;
• Linha 3: gastaO(k1 · log m);
![Page 49: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/49.jpg)
Árvores Digitais: algoritmo de inserção
1 insereDigital(x , pt):2 pt ← ptraiz; l ← a← 0;3 buscaDigital(x , pt , l, a);4 se a = 0 então5 para h = l + 1, . . . , k faça6 seja j a posição de
d(h) no alfabeto;7 ocupar(ptz);8 para i = 1, . . . ,m faça9 ptz.pont[i]← null;
10 pt .pont[j] ← ptz;11 ptz.terminal ← false;12 pt ← ptz;13 pt .terminal ← true;14 senão “inclusão inválida”;
Análise da complexidade:
• Seja k1 + k2 = k ;
• Linha 3: gastaO(k1 · log m);
• Linha 8: executa m
vezes. Portanto,inserir gasta O(k2 ·m);
![Page 50: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/50.jpg)
Árvores Digitais: algoritmo de inserção
1 insereDigital(x , pt):2 pt ← ptraiz; l ← a← 0;3 buscaDigital(x , pt , l, a);4 se a = 0 então5 para h = l + 1, . . . , k faça6 seja j a posição de
d(h) no alfabeto;7 ocupar(ptz);8 para i = 1, . . . ,m faça9 ptz.pont[i]← null;
10 pt .pont[j] ← ptz;11 ptz.terminal ← false;12 pt ← ptz;13 pt .terminal ← true;14 senão “inclusão inválida”;
Análise da complexidade:
• Seja k1 + k2 = k ;
• Linha 3: gastaO(k1 · log m);
• Linha 8: executa m
vezes. Portanto,inserir gasta O(k2 ·m);
• Complexidade total:O(k1 log m + k2m);
x é chave a inserir. Chamada inicial: insercaoDigital(x ,ptraiz)
![Page 51: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/51.jpg)
Árvores Digitais: complexidade da busca
![Page 52: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/52.jpg)
Árvores Digitais: complexidade da busca
• Diferente de métodos clássicos de busca pois:
![Page 53: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/53.jpg)
Árvores Digitais: complexidade da busca
• Diferente de métodos clássicos de busca pois:• independe do número total de chaves (e de tamanho
arquivo);
![Page 54: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/54.jpg)
Árvores Digitais: complexidade da busca
• Diferente de métodos clássicos de busca pois:• independe do número total de chaves (e de tamanho
arquivo);• depende do tamanho chave procurada e do alfabeto;
![Page 55: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/55.jpg)
Árvores Digitais: complexidade da busca
• Diferente de métodos clássicos de busca pois:• independe do número total de chaves (e de tamanho
arquivo);• depende do tamanho chave procurada e do alfabeto;
• Alternativa implementação: lista circular para ponteirospara evitar inúmeros ponteiros nulos (otimiza memória);
![Page 56: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/56.jpg)
Árvores Digitais: complexidade da busca
• Diferente de métodos clássicos de busca pois:• independe do número total de chaves (e de tamanho
arquivo);• depende do tamanho chave procurada e do alfabeto;
• Alternativa implementação: lista circular para ponteirospara evitar inúmeros ponteiros nulos (otimiza memória);
• Trie é tão mais eficiente quanto maior quantidade dechaves com prefixos comuns;
![Page 57: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/57.jpg)
Árvores Digitais: complexidade da busca
• Diferente de métodos clássicos de busca pois:• independe do número total de chaves (e de tamanho
arquivo);• depende do tamanho chave procurada e do alfabeto;
• Alternativa implementação: lista circular para ponteirospara evitar inúmeros ponteiros nulos (otimiza memória);
• Trie é tão mais eficiente quanto maior quantidade dechaves com prefixos comuns;
• Trie com muitos ziguezagues é quase sempre ineficiente;
![Page 58: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/58.jpg)
Árvores Digitais Binárias
0
0
0 1
1
0 1
0
1
0
1
0
0 1 1
0 1
0
• Árvore digital bináriacom alfabeto {0, 1};
![Page 59: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/59.jpg)
Árvores Digitais Binárias
0
0
0 1
1
0 1
0
1
0
1
0
0 1 1
0 1
0
• Árvore digital bináriacom alfabeto {0, 1};
• Chaves sãosequência binária;
![Page 60: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/60.jpg)
Árvores Digitais Binárias
0
0
0 1
1
0 1
0
1
0
1
0
0 1 1
0 1
0
• Árvore digital bináriacom alfabeto {0, 1};
• Chaves sãosequência binária;
• Filho esquerdo: 0;
![Page 61: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/61.jpg)
Árvores Digitais Binárias
0
0
0 1
1
0 1
0
1
0
1
0
0 1 1
0 1
0
• Árvore digital bináriacom alfabeto {0, 1};
• Chaves sãosequência binária;
• Filho esquerdo: 0;
• Filho direito: 1;
![Page 62: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/62.jpg)
Árvores Digitais Binárias
0
0
0 1
1
0 1
0
1
0
1
0
0 1 1
0 1
0
• Árvore digital bináriacom alfabeto {0, 1};
• Chaves sãosequência binária;
• Filho esquerdo: 0;
• Filho direito: 1;
• S = {00,0000,00010,00011,0101100,0101101,10,101,1010}
![Page 63: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/63.jpg)
Árvores Digitais Binárias
0
0
0 1
1
0 1
0
1
0
1
0
0 1 1
0 1
0
• Árvore digital bináriacom alfabeto {0, 1};
• Chaves sãosequência binária;
• Filho esquerdo: 0;
• Filho direito: 1;
• S = {00,0000,00010,00011,0101100,0101101,10,101,1010}
• Maior utilização deárvores digitais écaso binário;
![Page 64: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/64.jpg)
Árvores Digitais Binárias
![Page 65: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/65.jpg)
Árvores Digitais Binárias
• Chaves/códigos binários são mais empregados emcomputação;
![Page 66: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/66.jpg)
Árvores Digitais Binárias
• Chaves/códigos binários são mais empregados emcomputação;
• Número de ponteiros vazios é menor;
![Page 67: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/67.jpg)
Árvores Digitais Binárias
• Chaves/códigos binários são mais empregados emcomputação;
• Número de ponteiros vazios é menor;• Árvore binária de prefixo:
![Page 68: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/68.jpg)
Árvores Digitais Binárias
• Chaves/códigos binários são mais empregados emcomputação;
• Número de ponteiros vazios é menor;• Árvore binária de prefixo:
1. nenhum código é prefixo de outro;
![Page 69: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/69.jpg)
Árvores Digitais Binárias
• Chaves/códigos binários são mais empregados emcomputação;
• Número de ponteiros vazios é menor;• Árvore binária de prefixo:
1. nenhum código é prefixo de outro;2. chaves representadas por folhas;
![Page 70: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/70.jpg)
Árvores Digitais Binárias
• Chaves/códigos binários são mais empregados emcomputação;
• Número de ponteiros vazios é menor;• Árvore binária de prefixo:
1. nenhum código é prefixo de outro;2. chaves representadas por folhas;
0
0
0 1
1
0 1
1
0 0 1
0
s1
s2
s3 s4 s5
![Page 71: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/71.jpg)
Árvores Patricia: Introdução
• PATRICIA: acrônimo de Practical Algorithm To Retrieve
Information Coded In Alphanumeric;
![Page 72: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/72.jpg)
Árvores Patricia: Introdução
• PATRICIA: acrônimo de Practical Algorithm To Retrieve
Information Coded In Alphanumeric;
• Criador: Donald Morrison, em 1968;
![Page 73: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/73.jpg)
Árvores Patricia: Introdução
• PATRICIA: acrônimo de Practical Algorithm To Retrieve
Information Coded In Alphanumeric;
• Criador: Donald Morrison, em 1968;
• Árvore Patricia: árvore digital binária de prefixos;
![Page 74: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/74.jpg)
Árvores Patricia: Introdução
• PATRICIA: acrônimo de Practical Algorithm To Retrieve
Information Coded In Alphanumeric;
• Criador: Donald Morrison, em 1968;
• Árvore Patricia: árvore digital binária de prefixos;
• Estritamente binária;
![Page 75: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/75.jpg)
Árvores Patricia: Introdução
• PATRICIA: acrônimo de Practical Algorithm To Retrieve
Information Coded In Alphanumeric;
• Criador: Donald Morrison, em 1968;
• Árvore Patricia: árvore digital binária de prefixos;
• Estritamente binária;
• Sequência de nós com apenas um filho são compactadosem um único nó;
![Page 76: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/76.jpg)
Árvores Patricia: Introdução
• PATRICIA: acrônimo de Practical Algorithm To Retrieve
Information Coded In Alphanumeric;
• Criador: Donald Morrison, em 1968;
• Árvore Patricia: árvore digital binária de prefixos;
• Estritamente binária;
• Sequência de nós com apenas um filho são compactadosem um único nó;
• Nenhuma chave é prefixa de outra chave.
![Page 77: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/77.jpg)
Exemplo de Árvore Patricia
![Page 78: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/78.jpg)
Exemplo de Árvore Patricia
0
0
0 1
1
0 1
1
0 0 1
0
s1
s2
s3 s4 s5
(c) Árvore Dig. Bin. Prefixo
![Page 79: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/79.jpg)
Exemplo de Árvore Patricia
0
0
0 1
1
0 1
1
0 0 1
0
s1
s2
s3 s4 s5
(e) Árvore Dig. Bin. Prefixo
s1 2
4 5
s3s2
1
s5s4
0 1
0 1
0 1 0 1
b
a
(f) Árvore Patricia
![Page 80: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/80.jpg)
Árvore Patricia: Inserção
s1 2
4 5
s3s2
1
s5s4
0 1
0 1
0 1 0 1
b
a
![Page 81: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/81.jpg)
Árvore Patricia: Inserção
s1 2
4 4
xs3s2
1
5
s5s4
0 1
0 1
0 1 0 1
0 1
wb
v
![Page 82: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/82.jpg)
Árvores Patricia: algoritmo para inserção
1 buscaPat(x , pt , a):2 se pt .esq = null então a← 1;3 senão4 se k < pt .r então a← 2;5 senão6 se d [pt .r ] = 0 então7 pt ← pt .esq;8 buscaPat(x , pt , a);9 senão pt ← pt .dir
10 buscaPat(x , pt , a);
![Page 83: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/83.jpg)
Exercícios
1. Escreva o procedimento de inserção de uma chave emárvores Trie.
![Page 84: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/84.jpg)
Exercícios
1. Escreva o procedimento de inserção de uma chave emárvores Trie.
2. Escreva o procedimento de remoção de uma chave emárvores Trie.
![Page 85: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/85.jpg)
Bibliografia
SZWARCFITER, J. L. e MARKENZON, L. Estruturas de Dados eseus Algoritmos, LTC, 1994.
![Page 86: Árvores Digitais - professor.ufabc.edu.brprofessor.ufabc.edu.br/~leticia.bueno/classes/aed2/materiais/trie.pdf · Busca Digital •Problema geral de busca: conjunto de chaves S e](https://reader035.vdocuments.site/reader035/viewer/2022071009/5fc71b9f4e1c193ff63b83e7/html5/thumbnails/86.jpg)
Perguntas?