if672cc p1 sol

2
Universidade Federal de Pernambuco Centro de Inform´ atica Bacharelado em Ciˆ encia da Computa¸c˜ ao IF672 Algoritmos e Estruturas de Dados — 2012.2 Profs. Katia Guimar˜ aes, Paulo Fonseca PRIMEIRA PROVA 21 de Fevereiro de 2013 Esta prova cont´ em 04 (quatro) quest˜oes. A dura¸ ao da prova ´ e de 02 (duas) horas. A detec¸ ao de c´ opia implicar´ a na atribui¸ ao de nota 0 (zero) ` a prova. QUEST ˜ AO 1 Escreva em pseudo-c´ odigo um algoritmo CheckBST que recebe como entrada um apontador root para a raiz de uma ´ arvore bin´ aria T e devolve uma tripla (bst, min, max), onde bst ´ e um booleano que indica se T ´ e uma ´ arvore de busca bin´ aria e min, max indicam, respectivamente, os valores do menor e maior elemento de T . QUEST ˜ AO 2 Considere uma ´ arvore-B de grau m´ ınimo t =3. Represente a inser¸c˜ ao das chaves G,S,Q,K,C,L,H,T,V,W,M,R,N,P,A,B,X,Y,D,Z,E,U,F nesta ordem. Para tal, exiba a configura¸c˜ ao da ´ arvore apenas imediatamente ap´os ainser¸c˜ ao das chaves que provocarem divis˜ oes de n´ os e desenhe tamb´ em aconfigura¸c˜ ao final da ´ arvore. QUEST ˜ AO 3 Um algoritmo de ordena¸c˜ ao Π pode ser visto como uma fun¸c˜ ao que recebe como entrada um vetor V =(v 1 ,...,v n ) e devolve uma permuta¸c˜ ao Π(V )=(v π(1) ,...,v π(n) ) com v π(1) v π(2) ≤···≤ v π(n) . Um algoritmo de ordena¸c˜ ao ´ e dito est´avel quando, para duas posi¸ oes i, j quaisquer, i<j v π(i) = v π(j) = π(i) (j ). Em outras palavras, um algoritmo de ordena¸c˜ ao ´ e est´ avel quando preserva a ordem relativa original de elementos idˆ enticos. Demonstre que o algoritmo Heapsort ´ e est´ avel ou forne¸ca um contra-exemplo de tamanho m´ ınimo. QUEST ˜ AO 4 Considere uma tabela de dispers˜ ao (hash table ) com m = 10 posi¸c˜ oes utilizando a pol´ ıtica de resolu¸c˜ ao de colis˜ oes por endere¸ camento aberto (open addressing ) com sondagem linear (linear probing ). Sabendo-se que a posi¸c˜ ao original de uma chave k na tabela ´ e dada pela fun¸c˜ ao de dispers˜ ao h 0 (k)= k mod m, represente a inser¸c˜ ao das chaves 13, 44, 21, 64, 58, 20, 38, 81, 98 nesta ordem. Para tal, exiba a configura¸c˜ ao da tabela apenas imediatamente ap´os ainser¸c˜ ao das chaves para as quais houve uma colis˜ ao, e represente tamb´ em aconfigura¸c˜ ao final da tabela. EOF

Upload: horacio-j-c-filho

Post on 18-Jul-2015

45 views

Category:

Documents


1 download

TRANSCRIPT

Universidade Federal de PernambucoCentro de InformaticaBacharelado em Ciencia da Computacao

IF672 Algoritmos e Estruturas de Dados — 2012.2Profs. Katia Guimaraes, Paulo Fonseca

PRIMEIRA PROVA

21 de Fevereiro de 2013

• Esta prova contem 04 (quatro) questoes.• A duracao da prova e de 02 (duas) horas.• A deteccao de copia implicara na atribuicao de nota 0 (zero) a prova.

QUESTAO 1

Escreva em pseudo-codigo um algoritmo CheckBST que recebe como entrada um apontador root para araiz de uma arvore binaria T e devolve uma tripla (bst, min,max), onde bst e um booleano que indicase T e uma arvore de busca binaria e min, max indicam, respectivamente, os valores do menor e maiorelemento de T .

QUESTAO 2

Considere uma arvore-B de grau mınimo t = 3. Represente a insercao das chaves

G, S,Q, K, C,L, H, T, V,W,M,R, N, P,A, B, X, Y,D, Z,E, U, F

nesta ordem. Para tal, exiba a configuracao da arvore �apenas� imediatamente �apos� a insercao daschaves que provocarem divisoes de nos e desenhe �tambem� a configuracao final da arvore.

QUESTAO 3

Um algoritmo de ordenacao Π pode ser visto como uma funcao que recebe como entrada um vetorV = (v1, . . . , vn) e devolve uma permutacao Π(V ) = (vπ(1), . . . , vπ(n)) com vπ(1) ≤ vπ(2) ≤ · · · ≤ vπ(n).Um algoritmo de ordenacao e dito estavel quando, para duas posicoes i, j quaisquer,

i < j ∧ vπ(i) = vπ(j) =⇒ π(i) < π(j).

Em outras palavras, um algoritmo de ordenacao e estavel quando preserva a ordem relativa original deelementos identicos.

Demonstre que o algoritmo Heapsort e estavel �ou� forneca um contra-exemplo de tamanho mınimo.

QUESTAO 4

Considere uma tabela de dispersao (hash table) com m = 10 posicoes utilizando a polıtica de resolucao decolisoes por enderecamento aberto (open addressing) com sondagem linear (linear probing). Sabendo-seque a posicao original de uma chave k na tabela e dada pela funcao de dispersao

h0(k) = k mod m,

represente a insercao das chaves13, 44, 21, 64, 58, 20, 38, 81, 98

nesta ordem. Para tal, exiba a configuracao da tabela �apenas� imediatamente �apos� a insercao daschaves para as quais houve uma colisao, e represente �tambem� a configuracao final da tabela.

EOF