Sie sind auf Seite 1von 46

Aula de Exerccios

Estrutura de Dados e Algoritmos


20/03/2014 Jos Claudivan Ramon Bezerra

rvore Preto-Vermelha

rvore Preto-Vermelha Caractersticas


Possui uma caracterstica particular: cor do n; balanceada a partir de invariantes, restries pelas cores dos ns; Uma rvore preto-vermelho com n ns internos tem no mximo a altura de h 2.lg(n+1).

rvore Preto-Vermelha Caractersticas


Cada n possui uma cor: ou preta ou vermelha Toda folha (NIL) preta A raiz preta Todos os filhos de um n vermelho so pretos Black-Height: Todo caminho simples de um n a uma folha descendente contm o mesmo nmero de ns ( NIL) pretos.

rvore Preto-Vermelha Exemplo

rvore Preto-Vermelha Casos de ajuste


Para um novo n (Vermelho), temos: Caso 1: Se o novo n uma raiz, deve ser preto. Caso 2: Se o novo n no uma raiz, seu pai deve ser preto. Caso 3: Se pai do novo n vermelho, o pai e o tio devem ser pretos e o av do n deve ser vermelho. Depois, verifica-se o Caso 1 para o av. Caso 4: Se o novo n filho direita e o pai filho esquerda, aplica-se rotao no pai do novo n esquerda, e vice-versa. Caso 5: Se o novo n e o pai so filhos direita, o pai deve ser preto e o av vermelho. Depois, aplica-se a rotao no av do novo n esquerda.

rvore Preto-Vermelha Exerccio


1. Insira os seguintes valores em uma arvore PV inicialmente vazia e mostre a rvore (incluindo a cor dos ns) aps cada operao: 41, 38, 31, 12, 19, 8. Demonstrao: trees.jar

rvore Preto-Vermelha Exerccio


2. Insira um n com chave 8 na rvore abaixo. Se o n for colorido de vermelho, a rvore obtida PV? E se for colorido de preto?

Demonstrao: trees.jar

rvore Preto-Vermelha Exerccio


3. Se a raiz de uma rvore PV tem cor vermelha e a alteramos para preto, a rvore continua sendo PV? E se fossa a situao inversa?

rvore Preto-Vermelha Exerccio


3. Se a raiz de uma rvore PV tem cor vermelha e a alteramos para preto, a rvore continua sendo PV? E se fossa a situao inversa?

Sim, pois obedece a propriedade de que a raiz tem que ser preta, se fosse o contrrio e a raiz passasse a ser vermelha infringiria nessa mesma propriedade, logo no seria PV.

rvore Preto-Vermelha Exerccio


4. Qual a altura mxima de uma rvore PV com altura preta igual a 4? A altura mxima nesse caso ser 7 para o BH = 4.

rvore B

rvore B Caractersticas
Assegura todas as folhas no mesmo nvel; Possui um nmero mximo de filhos para cada n (pgina); Em cada n guardado uma lista de elementos (LinkedList);

rvore B Propriedades
Para uma rvore B de ordem m, temos: Cada n tem no mximo m filhos; O nmero mnimo de filhos de um n interno m/2; O nmero mximo de elementos (chaves) em um n (pgina) m-1; A raiz pode ser folha ou ter no mnimo dois filhos; Todas as folhas esto no mesmo nvel; Um n interno com k filhos tem, no mximo, k-1 elementos; Os elementos (chaves) de cada n servem como separadores dos filhos, de acordo com sua ordem. O n raiz possui entre 1 e 2m elementos.

rvore B Exemplo
Qual a ordem da rvore B a seguir?

rvore B Exemplo
Qual a ordem da rvore B a seguir? 4

rvore B Exemplo
Qual a ordem da rvore B a seguir?

rvore B Exemplo
Qual a ordem da rvore B a seguir? 4

rvore B Exerccios
5. Qual o nmero mximo de elementos que podem ser armazenados em uma rvore B de ordem 20 com altura 2? Justifique sua resposta.

rvore B Exerccios
5. Qual o nmero mximo de elementos que podem ser armazenados em uma rvore B de ordem 20 com altura 2? Justifique sua resposta. Ordem da rvore = 20

rvore B Exerccios
5. Qual o nmero mximo de elementos que podem ser armazenados em uma rvore B de ordem 20 com altura 2? Justifique sua resposta. Ordem da rvore = 20; Altura da rvore = 2;

rvore B Exerccios
5. Qual o nmero mximo de elementos que podem ser armazenados em uma rvore B de ordem 20 com altura 2? Justifique sua resposta. Ordem da rvore = 20; Altura da rvore = 2; N mximo de chaves por n = 19.

rvore B Exerccios
5. Qual o nmero mximo de elementos que podem ser armazenados em uma rvore B de ordem 20 com altura 2? Justifique sua resposta. Ordem da rvore = 20; Altura da rvore = 2; N mximo de chaves por n = 19.
Considerando que a rvore B sempre completa, temos:

rvore B Exerccios
5. Qual o nmero mximo de elementos que podem ser armazenados em uma rvore B de ordem 20 com altura 2? Justifique sua resposta. Ordem da rvore = 20; Altura da rvore = 2; N mximo de chaves por n = 19.
Considerando que a rvore B sempre completa, temos: 1 n

rvore B Exerccios
5. Qual o nmero mximo de elementos que podem ser armazenados em uma rvore B de ordem 20 com altura 2? Justifique sua resposta. Ordem da rvore = 20; Altura da rvore = 2; N mximo de chaves por n = 19.
Considerando que a rvore B sempre completa, temos: 1 n

...

20 ns

rvore B Exerccios
5. Qual o nmero mximo de elementos que podem ser armazenados em uma rvore B de ordem 20 com altura 2? Justifique sua resposta. Ordem da rvore = 20; Altura da rvore = 2; N mximo de chaves por n = 19.
Considerando que a rvore B sempre completa, temos: 1 n

...
...

20 ns
400 ns

rvore B Exerccios
5. Qual o nmero mximo de elementos que podem ser armazenados em uma rvore B de ordem 20 com altura 2? Justifique sua resposta. Ordem da rvore = 20; Altura da rvore = 2; Somando os ns, temos: N mximo de chaves por n = 19.
1+20+400 = 421 ns

Considerando que a rvore B sempre completa, temos: 1 n

Se cada n tem 19 chaves, ento: 400x19 = 7999 elementos

...
...

20 ns
400 ns

rvore B Exerccios
6. Considerando a representao abaixo de rvore B, implemente um mtodo (usando recurso) que retorna o maior elemento armazenado em uma rvore B. Faa a anlise do algoritmo.

rvore B Exerccios
6. Considerando a representao abaixo de rvore B, implemente um mtodo (usando recurso) que retorna o maior elemento armazenado em uma rvore B. Faa a anlise do algoritmo.
Busca, caso seja o ltimo n, o ltimo elemento da lista interna.

Seno, busca o ltimo n da rvore, sempre pela direita.

rvore B Exerccios
6. Considerando a representao abaixo de rvore B, implemente um mtodo (usando recurso) que retorna o maior elemento armazenado em uma rvore B. Faa a anlise do algoritmo. Mtodo externo, chamando a busca pelo maior elemento a partir da raiz.

rvore B Exerccios
7.Considerando a ordem alfabtica, mostre o resultado da insero dos elementos F,S,Q,K,C,L,H,T,V,W,M,R,N,P,A,B,X,Y,D,Z,E nessa ordem. Considere a rvore B de ordem 3. Desenhe a rvore aps a insero de cada elemento.

rvore B Exerccios
7.Considerando a ordem alfabtica, mostre o resultado da insero dos elementos F,S,Q,K,C,L,H,T,V,W,M,R,N,P,A,B,X,Y,D,Z,E nessa ordem. Considere a rvore B de ordem 3. Desenhe a rvore aps a insero de cada elemento.
insert(F)
F

insert(S)
F S

insert(Q)
F Q S

split()
Q

OVERFLOW!

rvore B Exerccios
7.Considerando a ordem alfabtica, mostre o resultado da insero dos elementos F,S,Q,K,C,L,H,T,V,W,M,R,N,P,A,B,X,Y,D,Z,E nessa ordem. Considere a rvore B de ordem 3. Desenhe a rvore aps a insero de cada elemento.
insert(K)
Q

insert(C)
Q

split()
F Q

insert(L)
F Q

F K

C F K

K L

OVERFLOW!

rvore B Exerccios
7.Considerando a ordem alfabtica, mostre o resultado da insero dos elementos F,S,Q,K,C,L,H,T,V,W,M,R,N,P,A,B,X,Y,D,Z,E nessa ordem. Considere a rvore B de ordem 3. Desenhe a rvore aps a insero de cada elemento.
insert(H)
F Q

split()
F K Q

split()
K

H K L

...
S

OVERFLOW!

OVERFLOW!

Cartesian Tree

Cartesian Tree Exerccios


8. Qual o formato da cartesian tree aps a insero dos seguintes nmeros: 12, 8, 4, 10, 25, 30, 9, 2, 15, 17. Demonstre passo a passo as inseres de cada elemento.

insert(12) lastElement = null


12

insert(8) lastElement = 12
8

insert(4) lastElement = 8
4

insert(10) lastElement = 4
4

12

10

12

12

Cartesian Tree Exerccios


8. Qual o formato da cartesian tree aps a insero dos seguintes nmeros: 12, 8, 4, 10, 25, 30, 9, 2, 15, 17. Demonstre passo a passo as inseres de cada elemento.
insert(25) lastElement = 10
4

insert(30) lastElement = 25
4

insert(9) lastElement = 30
4

10

10

8 10

12

25

12

25

12

25 30 30

Cartesian Tree Exerccios


8. Qual o formato da cartesian tree aps a insero dos seguintes nmeros: 12, 8, 4, 10, 25, 30, 9, 2, 15, 17. Demonstre passo a passo as inseres de cada elemento.
insert(2) lastElement = 9
2 4

insert(15) lastElement = 2
2

insert(17) lastElement = 15
2

4 8

15

15

8 10

9 12

9 10

8 10

17

12

12

25

25

25

30

30

30

Cartesian Tree Exerccios


8. Qual o formato da cartesian tree aps a insero dos seguintes nmeros: 12, 8, 4, 10, 25, 30, 9, 2, 15, 17. Demonstre passo a passo as inseres de cada elemento.

PERCURSO EM ORDEM = SEQUNCIA NUMRICA

Cartesian Tree Exerccios


9. Ainda do exerccio anterior, qual o RMQ(Range Minimum Query) da subsequncia {12, 8, 4, 10}? e qual o LCA(Lowest Commom Ancestor) entre 30 e 15?

RMQ(12,10) = ?

Cartesian Tree Exerccios


9. Ainda do exerccio anterior, qual o RMQ(Range Minimum Query) da subsequncia {12, 8, 4, 10}? e qual o LCA(Lowest Commom Ancestor) entre 30 e 15?

RMQ(12,10) = 4

Cartesian Tree Exerccios


9. Ainda do exerccio anterior, qual o RMQ(Range Minimum Query) da subsequncia {12, 8, 4, 10}? e qual o LCA(Lowest Commom Ancestor) entre 30 e 15?

LCA(30,15) = ?

Cartesian Tree Exerccios


9. Ainda do exerccio anterior, qual o RMQ(Range Minimum Query) da subsequncia {12, 8, 4, 10}? e qual o LCA(Lowest Commom Ancestor) entre 30 e 15?

LCA(30,15) = 2

Referncias rvore Preto-Vermelha


https://3917994b-a-a6606a5f-ssites.googlegroups.com/a/computacao.ufcg.edu.br/edaufcg/cronogra ma/Arvore%20PV.pdf?attachauth=ANoY7cpSNc1tmbr92wHf1u7TKOB mqJWUkIWFC9v5_nzF97tkisQAC_qbN85TYbRDdKanTx2bOD22JSsQ9R 7r7-9g4BBZ-ySsAePQRy6IcTLE7HPIkIDjIrOdZ-ia6qy7f775cIoHTFZZ7fXNTcOXntzycWVaSv1C1Y0jUd8I8aW3HTV8i6fFrY PTAbBcwGHCCYyAjzasTbjbCFcQaQeUsxYfEL4gNH_6etLYIB1ahp28hDO6Itbdo%3D&attredirects=1 http://www.ufjf.br/jairo_souza/files/2012/11/5Indexa%C3%A7%C3%A3o-Arvore-Vermelho-Preta.pdf

Referncias rvore B
https://3917994b-a-a6606a5f-ssites.googlegroups.com/a/computacao.ufcg.edu.br/edaufcg/cronogra ma/Arvore%20B.pdf?attachauth=ANoY7cqZmgKksqFtUeEJBi_YyBHgU M5cXbKQOV3U9opI1uxJcQaUCEAFZ1yEx9RhfLMl1wHneZq3S9VCZtXeTe3M95OybTTnBtyGMCLnesuO46UWBod0VZafbfzy_sn6wtjsyruSMJhoj_QTKL2v2M5CaY8R9qi9TDLZdzLaQZqYvqyuruLJNsRcKPAGAPyUHORzF_NsZN48QRnbd2LD_o_97A s1pudLxsOtovdarUcHbSjzGwk%3D&attredirects=0 http://www.ufjf.br/jairo_souza/files/2012/11/5Indexa%C3%A7%C3%A3o-Arvore_B.pdf

Referncias Cartesian Tree


Material Anexo (Estgio Docncia)

Das könnte Ihnen auch gefallen