Buscar

Estrutura de Dados (uni4)

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 4 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

Exercícios Estrutura de Dados (Unidade 4) 
Deixe seu like!! 
1. Alguns problemas requerem estruturas que possibilitem operações como 
inserção e remoção de maneira dinâmica, tais como as árvores. Em relação 
às árvores e suas vantagens em relação às demais estruturas, 
marque a alternativa correta. 
 
Árvores são consideradas eficientes para guardar informações, pois apresentam uma forma de 
organização não linear. 
 
2. Considere que você precisa utilizar uma árvore binária e o TAD deve ter 
um campo para armazenar um número inteiro. Os nós podem ser 
representados na linguagem Python como uma classe com os seguintes 
atributos básicos: 
 
Número do nó, ponteiro para subárvore da direita e ponteiro para subárvore da esquerda. 
 
3. Durante a implementação de um TAD hierárquico, será necessário conhecer 
alguns termos para projetar os métodos. Acerca das terminologias da 
estrutura de dados do tipo árvore, considere a imagem a seguir e marque a 
alternativa correta: 
 
O grau do nó E é 2. 
 
4. Dada a seguinte árvore e considerando as propriedades de armazenamento 
de uma árvore binária, após a inserção do nó 9 e do nó 5, nessa ordem, pode-
se afirmar que esses nós serão filhos dos nós: 
 
9 será filho da esquerda do nó 10 e 5 será filho da direita do nó 4. 
 
5. Caso você tivesse que indicar uma estrutura de dados apropriada para 
armazenar uma sequência de comandos HTML e verificar sua sintaxe antes 
de apresentar as informações no browser, qual estrutura você indicaria? 
 
Árvore 
 
6. 
As árvores são estruturas de dados de grande contribuição, principalmente no 
que tange as expressões aritméticas, em que o percurso utilizado pode 
influenciar diretamente. 
O caminhamento em árvore é realizado de três formas, as quais variam 
conforme a posição de leitura do nó raiz, que podem ser: 
 
em-ordem, pós-ordem, pré-ordem. 
 
7. Árvores binárias possibilitam maior organização dos elementos adicionados, 
o que facilita separar os elementos a cada nível de crescimento da árvore. 
Dada a seguinte lista de caracteres [P, R, O, G, R, A, M, A, D, O, R, U, M], como 
ficaria seu resultado final em uma leitura pós-ordem, caso seus valores fossem 
adicionados sequencialmente, do primeiro ao último elemento, em uma árvore 
binária? Para montar uma árvore binária, os elementos menores ou iguais ao 
nó mais abaixo entrará à esquerda; caso contrário, ficará à direita. 
 
A D A M O M G O R R U R P. 
 
8. Uma árvore binária que tenha como finalidade resolver problemas aritméticos, 
necessita que sua leitura seja feita de tal modo a combinar dois operandos 
para o operador da expressão. Exemplo: A + B. 
Portanto, como uma árvore deveria posicionar seus elementos e qual seria a 
melhor forma de leitura para que as operações ocorram? 
 
É preferível que os valores da operação aritmética estejam localizados à esquerda e à direita da 
raiz, desde que o operador seja raiz, e a leitura da árvore seja feita em-ordem. 
 
9. O caminhamento de uma árvore binária influencia diretamente no resultado 
final de leitura de uma determinada sequência de símbolos, e pode se 
encontrar em 3 tipos, como percursos em pré-ordem, in-ordem e pós-ordem, 
variando, assim, a posição do valor raiz. 
Qual função a seguir descreve o percurso realizado em pós-ordem? 
 
def funcao(no): 
 if atual != None: 
 funcao(no.esquerdo) 
 funcao(no.direito) 
 print("Valor: {}.".format(no.valor)) 
 
10. O modo como é feito o percurso determina como será o nível de prioridade de 
leitura dos elementos, podendo o nó raiz estar com prioridade (leitura em pré-
ordem), ou os elementos da subárvore à esquerda (leitura in-ordem), ou os 
elementos da subárvore à esquerda seguido da leitura à direita (pós-ordem). 
Considerando a imagem a seguir, mostre a sequência de expressões 
resultantes, conforme os percursos de pré-ordem, em-ordem e pós-ordem, 
respectivamente. 
 
 
* 3 * 5 13 
3 * 5 * 13 
3 5 13 * * 
 
11. A estrutura de dados de árvore apresenta grande versatilidade. Pode ser 
aplicada na solução de um leque de problemas, como em indexação de bancos 
de dados, em buscas, em estruturas de diretórios em sistemas de arquivos, 
entre outros. 
Considerando uma árvore binária de busca, qual destas é uma de suas 
propriedades? 
 
A subárvore esquerda de um nó contém os nós com chaves menores ou iguais que a do nó. 
 
12. Uma árvore binária de busca é conhecida pela sua eficiência quando é 
necessária a pesquisa de algum valor, seguindo as regras de buscas, 
ramificando para a esquerda e para a direita. 
Sabendo disso, de acordo com a árvore na imagem, determine qual caminho a 
chave de busca percorreu para pesquisa do valor 87 e se este existe ou não. 
 
Visitou chave 70. 
Visitou chave 90. 
Visitou chave 83. 
Visitou chave 85. 
Visitou chave 89. 
Resultado: falha. 
 
13. Sempre que vimos uma árvore, presumimos a ordem em que seus elementos 
foram adicionados. Dessa forma, conforme a imagem utilizada no exercício 
anterior, defina uma possível ordem do vetor que culminou na árvore 
apresentada, lembrando que o primeiro valor corresponde à raiz da árvore. 
 
[70,90,4,114,2,23,83,116,72,15,85,89,63]. 
 
14. Uma árvore binária de busca, como o próprio nome sugere, é uma estrutura de 
dados que armazena dados de maneira que permita a realização de busca 
binária. Essa busca segue o paradigma de divisão e conquista e acaba tendo 
uma eficiência melhor do que uma busca linear. 
Existem duas abordagens para realizar a implementação dessa busca: a 
implementação recursiva e iterativa. Qual a principal diferença entre essas 
implementações? 
 
Na abordagem recursiva, um nó definido como base nele próprio realiza a repetição dos seus 
passos invocando a si próprio, executando todos os seus passos novamente até encontrar o valor 
buscado. Diferentemente da busca recursiva, a busca iterativa considera as ramificações de 
maneira explícita de cada nó para percorrer seus nós, pois não há uma chamada interna para a 
mesma função. 
 
15. Em termos de alocação de memória, podemos implementar uma árvore de 
busca binária utilizando alocação dinâmica ou alocação estática. 
Considerando a alocação estática, como ocorre a representação de uma 
árvore de pesquisa binária em um vetor? 
 
1- O nó raiz deve ficar na posição inicial do vetor. 
 
2- Para cada nó em determinada posição i de um vetor, seu filho esquerdo ficará na 
posição 2*i + 1, e seu filho direito ficará na posição 2*i + 2. 
 
16. Uma das principais vantagens das árvores binárias em relação às demais 
estruturas de dados é a sua eficiência no processo de realizar buscas. A árvore 
AVL é conhecida por ter um resultado muito eficiente durante a operação de 
busca, pois realiza uma distribuição homogênea dos dados. 
Qual a ideia central ao fazer o balanceamento em uma árvore? 
 
A ideia central do balanceamento é que, para cada novo elemento adicionado ou removido da 
árvore, seja realizado uma reorganização para que a distribuição dos elementos conforme sua 
subárvore, continue homogênea. 
 
17. As árvores AVL correspondem à família das árvores binárias, em que a 
distribuição dos elementos é feita de acordo com determinadas condições, as 
quais são necessárias para garantir o balanceamento da árvore. 
Em relação à altura de uma AVL, qual é a afirmação correta? 
 
A altura de uma árvore nula é igual a -1. 
 
18. Uma árvore AVL é uma árvore binária muito utilizada para armazenamento de 
dados em memória. Cada nó de uma árvore AVL necessita da informação de 
altura, pois é fundamental para o processo de balanceamento. Para um nó 
folha, que tem uma altura igual a 1, sendo que essa árvore AVL tem 7 nós. 
Qual é a altura máxima que essa árvore pode ter? 
 
3. 
 
19. Uma árvore AVL tem as funções básicas como inserção, remoção e busca, 
assim como uma árvore simples. Considere a seguinte árvore AVL. 
Qual das alternativas a seguir é a árvore AVL atualizada após a inserção de 
70? 
 
Confira a alternativa C: 
 
 
 
20. No processode realizar o balanceamento de uma árvore AVL, após a exclusão 
ou inclusão são realizadas operações para realizar o balanceamento. 
Quais das seguintes operações são usadas pelas árvores AVL? 
 
Rotação à esquerda e rotação à direita.

Outros materiais