Exercícios

 1) Considere a seguinte função de dispersão:

int hash(int value, int M) {
return value % M;
}

Usando uma tabela de dispersão por encadeamento externo (external chaining) para guardar elementos com as seguintes chaves

0, 32, 1, 35, 2, 33, 38, 10, 4, 3 e 6,

e a função de dispersão definida em cima, e sabendo que M = 10, qual ou quais são as chaves dos elementos guardados na posição 3 da tabela (A primeira posição da tabela é a posição zero)?

 

2) Qual o número total de conflitos (elementos adicionados a uma posição já contendo pelo menos um elemento) quando o último valor da sequência < 17, 7, 28, 12, 0, 25, 37, 11 > é introduzido numa tabela de dispersão de dimensão 10 com resolução por encadeamento externo (external chaining), inicialmente vazia, sabendo que a função de hash é hash(k) = k mod 3.

 

3) Qual a posição em que é colocado o último valor da sequência < 17, 7, 28, 12, 0, 25, 37, 11, 24 > ao serem introduzidos numa tabela de dispersão de dimensão M=13 por linear probing, inicialmente vazia, sabendo que a função de hash é hash(k) = k mod M ?

 

4) Considere uma tabela de dispersão com resolução por procura linear (linear probing), que permite guardar números inteiros. A tabela tem dimensão M = 10, e a respectiva função de dispersão é hash(k) = k mod M. Indique, para a inserção na tabela da sequência < 10, 18, 5, 25, 46, 101, 39, 17 >, qual será o índice da entrada da tabela em que é inserido o último elemento ?

 

5) Considere uma tabela de dispersão com resolução por dispersão dupla (double hashing), com dimensão M = 10, em que as funçõees de dispersão são dadas por:

hashone(k) = k mod M
hashtwo(k) = (1 + 3k)

Qual o índice da posição na tabela em que é colocado o último valor da sequência < 10, 12, 7, 9, 3, 11, 2 >, assumindo que a tabela se encontra inicialmente vazia ?

 

6) Qual a sequência de inserção numa árvore de pesquisa binária (binary search tree) inicialmente vazia que resulta numa árvore equilibrada ?

a. < 23, 19, 21, 15, 18, 16, 12, 25 >
b. < 23, 25, 19, 15, 21, 18, 16, 12 >
c. < 12, 15, 16, 18, 19, 21, 23, 25 >
d. < 25, 23, 21, 19, 18, 16, 15, 12 >
e. < 18, 21, 23, 25, 15, 19, 16, 12 >
f.  < 18, 23, 16, 21, 15, 19, 12, 25 >
g. < 23, 18, 21, 16, 15, 12, 19, 25 >

 

7) Considere uma árvore binária de pesquisa onde são inseridos os seguintes elementos: < 15, 12, 17, 21, 23 >. Partindo das opções em baixo, indique as operações de rotação utilizadas no processo de inserção.

a. rotR(15)

b. rotL(15)
c. rotR(17)
d. rotL(17)
e. rotR(21)
f. rotL(21)
g. rotR(23)

Nota: considere que rotL e rotR são as operações de rotação para a esquerda e para a direita, respectivamente.

 

8) Considere uma árvore AVL para inteiros inicialmente vazia onde são inseridos sequencialmente os elementos do seguinte vector: < 10, 8, 9, 7, 16, 3, 50, 15, 6, 11 >. Desenhe a árvore resultante e indique a sequência de elementos visitados por uma travessia post-order.

 

9) Considere a árvore resultante do exercício anterior e elimine o elemento 16. Desenhe a árvore resultante e indique a sequência de elementos visitados por uma travessia pre-order.

 

 

Soluções

Soluções: 1) 3 e 33; 2) 5; 3) 5; 4) 2; 5) 6; 6) e; 7) d; 8)  <6, 3, 8, 7, 10, 15, 11, 50, 16, 9>; 9) <9, 7, 3, 6, 8, 15, 11, 10, 50> ou <9, 7, 3, 6, 8, 11, 10, 50, 15>