Buscar

AD2_Estrutura de Dados_2009-2_Gabarito

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Estrutura de Dados - 2o. per´ıodo de 2009
Gabarito da Segunda Avaliac¸a˜o a` Distaˆncia
Todas as questo˜es valem um ponto cada.
1. Prove ou deˆ contra-exemplo: Uma a´rvore bina´ria pode ser constru´ıda, de forma u´nica, a
partir dos seus percursos em pre´-ordem e po´s-ordem.
Resposta: A afirmac¸a˜o e´ falsa. Considere duas a´rvores bina´rias T1 e T2, onde cada uma
delas conte´m apenas dois no´s A e B de forma que:
- em T1, B e´ filho esquerdo de A;
- em T2, B e´ filho direito de A.
Para ambas as a´rvores acima, o percurso em pre´-ordem e´ AB e o percurso em po´s-ordem
e´ BA. No entanto, elas sa˜o distintas.
2. Determinar a a´rvore bina´ria de custo mı´nimo relativa a`s seguintes frequeˆncias: f1 =
1, f2 = 3, f3 = 2, f4 = 1, f
′
0
= 2, f ′
1
= 2, f ′
2
= 1, f ′
3
= 0, f ′
4
= 3.
Resposta: Para o conjunto de frequ¨eˆncias abaixo,
i 0 1 2 3 4
fi - 1 3 2 1
f ′
i
2 2 1 0 3
as matrizes do algoritmo de ca´lculo da a´rvore o´tima sa˜o:
Matriz dos valores F [i, j]:
2 5 9 11 15
- 2 6 8 12
- - 1 3 7
- - - 0 4
- - - - 3
Matriz dos custos c[i, j]:
0 5 14 19 30
- 0 6 11 22
- - 0 3 10
- - - 0 4
- - - - 0
Matriz dos valores minimizantes k:
- 1 2 2 2
- - 2 2 2(3)
- - - 3 4
- - - - 4
- - - - -
Da matriz k, temos a seguinte a´rvore o´tima, de custo 30:
s
2
s
1
s
4
R
4
R
1
R
0
s
3
R
3
R
2
3. Construa a a´rvore AVL resultante da inclusa˜o (na ordem dada!) dos no´s com os seguintes
valores: 10,4,15,8,7,6. A a´rvore AVL encontra-se inicialmente vazia.
Resposta:
In´ıcio: a´rvore vazia
Inserir 10: 10
Inserir 4:
10
4
Inserir 15:
10
4 15
Inserir 8:
10
4 15
8
Inserir 7:
10
4 15
8
7
 
desregulado! * Efetuar RDE
10
7 15
84
Inserir 6:
 
desregulado! *
Efetuar RD
8
10
7 15
4
6
6
7
4 10
8 15
4. Desenhe uma a´rvore B de ordem 2 e altura treˆs que contenha o maior nu´mero de chaves
poss´ıvel. A seguir, defina uma nova chave para inserir, e desenhe a a´rvore B resultante
da inserc¸a˜o desta chave.
Resposta:
5
10
15
20
1 2 3 4
6 7 8 9
11 12 13 14
16 17 18 19
101 102 103 104
106 107 108 109
111 112 113 114
116 117 118 119
121 122 123 124
21 22 23 24
26 27 28 29
31 32 33 34
36 37 38 39
41 42 43 44
46 47 48 49
30
35
40
45
51 52 53 54
56 57 58 59
61 62 63 64
66 67 68 69
71 72 73 74
55
60
65
70
76 77 78 79
81 82 83 84
86 87 88 89
91 92 93 94
96 97 98 99
80
85
90
95
105
110
115
120
25
50
75
100
Ao inserirmos a chave 125, obtemos a seguinte a´rvore B:
5
10
15
20
1 2 3 4
6 7 8 9
11 12 13 14
16 17 18 19
101 102 103 104
106 107 108 109
111 112 113 114
116 117 118 119
121 122
21 22 23 24
26 27 28 29
31 32 33 34
36 37 38 39
41 42 43 44
46 47 48 49
30
35
40
45
51 52 53 54
56 57 58 59
61 62 63 64
66 67 68 69
71 72 73 74
55
60
65
70
76 77 78 79
81 82 83 84
86 87 88 89
91 92 93 94
96 97 98 99
80
85
90
95
105
110
124 125
120
123
100
115
25
50
75
5. Desenhe uma a´rvore B de ordem 2 e altura treˆs que contenha o menor nu´mero de chaves
poss´ıvel. A seguir, escolha uma chave qualquer para ser removida, e desenhe a a´rvore B
resultante da remoc¸a˜o desta chave.
Resposta:
20
21
22
26
27
31
32
25
30
10
15
1
2
11
12
16
17
Ao removermos a chave 2, obtemos a seguinte a´rvore B:
21
22
26
27
31
32
1
10
11
12
16
17
15
20
25
30
6. Determine o heap obtido pela aplicac¸a˜o do algoritmo de construc¸a˜o a`s seguintes priori-
dades: 18, 25, 41, 34, 14, 10, 52, 50, 48.
Resposta: Utilizando a soluc¸a˜o 3 para construc¸a˜o de heaps, obtemos o seguinte heap:
14
50
52
1810
41
2534
48
7. Assista a`s aulas sobre tabelas de espalhamento e fac¸a uma dissertac¸a˜o resumida sobre
como funcionam os me´todos de tratamento de coliso˜es abordados.
Resposta:
O tratamento de coliso˜es por encadeamento exterior consiste em manter m listas en-
cadeadas, uma para cada poss´ıvel enderec¸o-base. Um campo para o encadeamento deve
ser acrescentado a cada no´. Os no´s correspondentes aos enderec¸os-base sa˜o apenas no´s-
cabec¸a para essas listas. Para buscar uma chave x na tabela T , calcula-se h(x) = x mod
m e procura-se x na lista encadeada correspondente ao enderec¸o-base h(x). A inclusa˜o
de uma nova chave x e´ feita no final da lista encadeada correspondente ao enderec¸o-base
h(x).
No modelo de encadeamento interior heterogeˆneo, as coliso˜es sa˜o resolvidas mediante o
emprego de listas encadeadas que compartilham o mesmo espac¸o de memo´ria que a tabela
de dispersa˜o T , que fica dividida em duas zonas: uma de enderec¸os-base, de tamanho p,
e outra reservada aos sinoˆnimos, de tamanho s. Sendo m o tamanho total de T , temos
que p + s = m. Os valores p e s sa˜o fixos. Assim sendo, a func¸a˜o de dispersa˜o deve
obter enderec¸os-base na faixa [0, p − 1] apenas. Neste caso, α = n/m ≤ 1. A estrutura
da tabela e´ a mesma que no caso do encadeamento exterior (dois campos teˆm presenc¸a
obrigato´ria em cada no´).
O modelo de encadeamento interior homogeˆneo consiste em na˜o diferenciar as duas zonas
da tabela. Ou seja, qualquer enderec¸o da tabela pode ser de base ou de colisa˜o. Esta
te´cnica, entretanto, produz o efeito indesejado de provocar coliso˜es secunda´rias, isto e´,
aquelas provenientes da coincideˆncia de enderec¸os para chaves que na˜o sa˜o sinoˆnimas.
8. Deˆ exemplo de duas cadeias X e Y , com 8 e 5 caracteres respectivamente, que leve o
algoritmo de forc¸a bruta para casamento de cadeias a realizar o maior nu´mero poss´ıvel
de comparac¸o˜es entre caracteres. Observac¸a˜o: o algoritmo procura determinar se Y e´
subcadeia de X.
Resposta:
X = aaaaaaaa e Y = aaaab
Nu´mero de comparac¸o˜es = m(n−m+ 1) = 5(8− 5 + 1) = 20.
9. Deˆ exemplo de duas cadeias X e Y , com 8 e 5 caracteres respectivamente, que leve o
algoritmo de forc¸a bruta para casamento de cadeias a realizar o menor nu´mero poss´ıvel
de comparac¸o˜es entre caracteres. Observac¸a˜o: o algoritmo procura determinar se Y e´
subcadeia de X.
Resposta:
X = aaaaaaaa e Y = aaaaa
Nu´mero de comparac¸o˜es = m = 5.
10. Responda: como e´ a a´rvore de Huffman relativa a n frequeˆncias iguais? (Suponha que n
e´ da forma n = 2k, isto e´, n e´ uma poteˆncia de 2.) Justifique sua resposta.
Resposta: E´ uma a´rvore cheia de altura k + 1. Inicialmente, temos 2k a´rvores com um
u´nico no´ (altura 1), de mesmo valor. O algoritmo vai unindo estas a´rvores duas a duas,
ate´ que todas fac¸am parte de uma a´rvore cheia com 3 no´s (altura 2). Como n e´ poteˆncia
de 2, o algoritmo vai sempre unindo sempre duas a´rvores cheias em uma u´nica a´rvore
cheia, e somente une duas a´rvores de altura x quando na˜o houver mais nenhuma a´rvore
de altura menor que x. Ao final do algoritmo, duas a´rvores cheias de altura k sa˜o unidas
em uma a´rvore cheia de altura k + 1.

Outros materiais