Buscar

ATIVIDADE 4 - ESTRUTURA DE DADOS

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 10 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 10 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 9, do total de 10 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 – ATIVIDADE 4
QUESTÃO 1
Por definição, uma árvore binária é denominada AVL quando, para qualquer nó, as alturas de suas duas subárvores (esquerda e direita) sejam diferentes em módulo de até uma unidade. Na literatura relacionada, essa propriedade é comumente dita como sendo de balanceamento da árvore, já que, no processo de busca, o tempo gasto para avaliar as árvores da esquerda e direita é bem similar.
Sendo assim, com base em nossos estudos sobre o assunto, assinale a alternativa a seguir que contém um exemplo de árvore binária, mas que não é do tipo árvore AVL.
· 
· 
· 
· 
· 
Isso mesmo, sua resposta está de acordo! Na árvore em questão, a subárvore da esquerda tem profundidade superior que a subárvore da direita em duas unidades, o que viola a característica base de uma árvore AVL.
QUESTÃO 2
Comumente utilizadas para construir estruturas para avaliar expressões matemáticas, o percurso em árvores binárias por meio do método de busca de ordem simétrica é conhecido, também, como ordem central ou in-ordem. O algoritmo correspondente a esse percurso pode ser enunciado a partir de três passos: percorrer a subárvore da esquerda em ordem simétrica, visitar o nó raiz e percorrer a subárvore da direita em ordem simétrica.
Dessa forma, considere a árvore binária de busca a seguir, construída com variáveis e operadores matemáticos.
Fonte: Elaborada pela autora, 2019.
Considerando a figura anterior, assinale a alternativa que contém a sequência dos nós visitados em ordem simétrica.
· A*B/C.
· C/A*B.
· B/C*A.
· A*C/B.
· C*B/A.
Isso mesmo, resposta correta! No percurso em ordem simétrica, o nó mais à esquerda (A) é o primeiro a ser visitado, depois, o nó raiz do nó esquerda (*) e, então, o nó à direita (B). O resultado dessa avaliação é o nó à esquerda. O processo continua: é visitado o nó raiz (/) e, por fim, o nó à direita (C).
QUESTÃO 3
Uma operação muito comum nos sistemas computacionais é a operação de consulta ou busca. Ela, geralmente, recebe como parâmetro o elemento que se deseja procurar e um elemento de partida a partir do qual devemos buscar o elemento. Pensando nessa funcionalidade, consideremos a definição das classes “Produto” e “NoProduto” a seguir.
Fonte: Elaborada pela autora, 2019.
Foi implementado um método de busca por um elemento a partir do valor do atributo de “nome” do “Produto”. Os parâmetros recebidos são o nó visitado (“noProd”) e o nó com os dados procurados (“noProcurado”). Observe o próximo código.
Fonte: Elaborada pela autora, 2019.
A respeito desse código, assinale a alternativa verdadeira sobre o método “buscar()”, apresentado anteriormente.
· .O programa lançará uma exceção durante sua execução.
· .O programa não compila.
· .O último comando do método nunca será executado.
· .O método “getNome()” deve ser privado para ser chamado fora de “Produto”.
· .O conteúdo do atributo “nome” não está sendo comparado corretamente.
Isso mesmo, sua resposta está correta! Os atributos do tipo string devem ser comparados com o uso dos métodos “equals” ou “equalsIgnoreCase”. O uso do operador “==” serve, no caso, para comparar as referências para os objetos, não o conteúdo das strings.
QUESTÃO 4
Uma árvore é um tipo abstrato de dado que possui um conjunto de nós ligados entre si por meio de referências aos nós, sendo estes conhecidos como filhos. Um nó pode não ter filhos, por isso, ele é chamado de “nó folha”. A referência que liga os nós na linguagem Java consiste no endereço de memória onde inicia a definição de outro objeto.
Assim, a partir dessa definição, considere o nó “Pergunta” definido na figura a seguir.
Fonte: Elaborada pela autora, 2019.
Agora, assinale a alternativa que contém o trecho de código que implementa o método público “ehFolha()”, que retorna verdadeiro caso o nó do tipo “Pergunta” recebido como parâmetro seja do tipo folha.
· 
· 
· 
· 
· 
Muito bem, sua resposta está correta! Um nó do tipo folha não tem nós filhos, sendo que isto pode ser comprovado pelo valor das referências dos atributos “noFilhoEsquerda” e “noFilhoDireita”. É necessário que os dois filhos sejam verificados: se eles estiverem apontando para algum objeto, então ele não é um nó folha. A indicação disso na linguagem Java é por meio da comparação com o valor null.
QUESTÃO 5
Em estruturas de dados, de forma geral, tão importante quanto o armazenamento dos dados, é necessário definir um conjunto mínimo de métodos que operam sobre eles. No caso de uma árvore binária, um método utilitário muito comum é aquele que verifica se a árvore está vazia.
Veja com atenção a definição do método “ehVazia” a seguir, que recebe como parâmetro o nó raiz da árvore.
Fonte: Elaborada pela autora, 2019.
Considerando a implementação anterior, assinale a alternativa que relata corretamente o que acontece com o programa se for removido o comando “return true;”.
· A árvore crescerá indefinidamente.
· O programa não compilará.
· Será levantada uma exceção quando o programa for executado.
· A árvore será transformada em uma lista circular.
· O método retornará somente false.
Muito bem, sua resposta está correta! O método “ehVazia” tem sempre que retornar um valor booleano para todos os possíveis fluxos de execução do programa. Como há uma cláusula if, é necessário indicar um retorno booleano se o programa não entrar nas condições exigidas. Assim, se for retirado comando “return true”, o programa não compilará.
QUESTÃO 6
A declaração de uma classe para armazenar a informação de um nó na árvore foi realizada na classe “Produto”, conforme vemos na figura na sequência.
Fonte: Elaborada pela autora, 2019.
As informações, nesse caso, são o nome do produto e um código numérico. A partir dessa definição, dentro da classe “NoProduto”, foi declarado um objeto que contém as informações e outras duas referências para outros elementos: para as subárvores da esquerda e da direita.
Sendo assim, assinale a alternativa que contém a linha de código para declarar um nó de uma árvore de produtos de um uma loja de departamentos.
· .Produto noProd = new NoProduto();.
· .NoProduto noProd = new Produto[10];.
· .Produto noProd = new Produto();.
· .Produto[] noProd = new Produto();.
· .NoProduto noProd = new NoProduto();.
Isso mesmo, sua resposta está correta! Foi solicitada a criação de um objeto do tipo “NoProduto”. Assim, nesse caso, o tipo “NoProduto” deve ser utilizado dos dois lados da igualdade. Temos, então, “NoProduto noProd = new NoProduto();”.
QUESTÃO 7
Os tipos abstratos de dados no modelo árvore tem como principal característica o fato de que os elementos que a constitui, denominados “nós”, são ligados entre si por estruturas de encadeamento. Este é possível graças ao mecanismo de referência da linguagem Java.
Sobre esse processo, com base em nossos estudos, analise as afirmativas a seguir e marque V para as verdadeiras e F para as falsas.
I. (   ) Para indicar que um nó tem filhos, é necessário criar um objeto daquele tipo e armazenar a referência do objeto criado.
II. (   ) Ao criar um nó filho, é possível que este tenha outros nós filhos, desde que seja feita a alocação do elemento quando o nó pai for criado.
III. (   ) Uma vez atribuído um nó filho, não é possível alterar ou remover o elemento, já que a estrutura tem que ser mantida.
IV. (   ) Uma árvore é dita binária quando os valores armazenados em cada um dos nós são sequências de 0’s e 1’s.
V. (   ) O chamado “nó folha” é aquele em que as referências para os nós filhos da esquerda e da direita são iguais a null.
Agora, assinale a alternativa com a sequência correta.
· F, V, F, V, F.
· V, F, V, F, V.
· V, V, F, F, V.
· V, F, F, F, V.
· F, F, V, V, F.
Isso mesmo, sua resposta está correta! Um nó de uma árvore pode ter filhos, sendo que, para indicar isto, basta criarmos um novo nó e armazenar a referência para o objeto criado nos nós filhos da esquerda ou da direita. Quando não há referência para os nós filhos da esquerda e da direita, o nó é chamado de folha. A inexistência de referência é indicada pelo valor null.
QUESTÃO 8
Ao inserir um nóem uma árvore binária de busca, é necessário que a característica fundamental do tipo de estrutura seja preservada. Assim, para qualquer subárvore que for considerado o nó filho da esquerda, este deve ter um valor menor que o da raiz. De forma similar, o nó filho da direita tem que ter um valor acima.
A árvore de valores numéricos a seguir foi construída para que seja uma árvore binária de busca. Observe-a com atenção.
Fonte: Elaborada pela autora, 2019.
Agora, assinale a alternativa que contém os valores numéricos para X e Y, mantendo a árvore representada como uma árvore binária de busca.
· X = 9 e Y = 10.
· X = 10 e Y = 9.
· X = 1 e Y = 11.
· X = 3 e Y = 14.
· X = 14 e Y = 3.
Isso mesmo, resposta correta! Como o nó X está à esquerda do nó 6, é necessário que X seja menor que 6, então, o valor 3 atende. De forma similar,  já que Y está à direita de 12, seu valor deve ser maior que isso. Assim, o valor de Y igual a 14 é válido.
QUESTÃO 9
Podemos dizer que uma árvore é binária quando cada um dos seus nós tem 0, 1 ou 2 filhos. Com esta característica, é possível definir uma estrutura de dados em que, além das informações armazenadas, tenhamos acesso ao filho da esquerda e da direita.
A figura a seguir representa um nó “Produto”, com a referência para os outros filhos desse “Produto”: “filhoEsquerda” e “filhoDireita”.
Fonte: Elaborada pela autora, 2019.
Temos, ainda, que um tipo especial de árvore binária é chamado de AVL. Assinale a alternativa a seguir que contém a principal característica desse tipo de árvore.
· .A árvore AVL tem apenas nós folhas.
· .A árvore AVL pode ter mais de 2 filhos.
· .A árvore AVL tem apenas altura 2.
· .A árvore AVL tem apenas o nó raiz.
· .A árvore AVL é balanceada.
Sua resposta está de acordo, parabéns! A árvore AVL é dita balanceada, ou seja, a distância entre o nó raiz e os nós folhas de qualquer subárvore se difere de, no máximo, uma unidade.
QUESTÃO 10
Sabemos que uma árvore binária de busca deve ser construída de forma que a seguinte regra seja preservada: o nó filho da esquerda de um nó raiz deve ser menor que o nó raiz por determinada chave; e o nó filho da direita deve ser sempre maior que o nó raiz. A relação de maior ou menor pode ser atribuída pelo valor da informação no nó ou por meio da definição de um atributo-chave do nó, o qual será utilizado como comparativo.
Dessa forma, considere a árvore binária de busca na sequência.
Fonte: Elaborada pela autora, 2019.
Com base na figura anterior, qual é o nome do método de percurso em árvore que geraria a seguinte sequência de caracteres como saída: {A, B, C, D, E, F, G}?
· .Pré-ordem.
· .Busca sequencial.
· .Busca aleatória.
· .Pós-ordem.
· .Ordem simétrica.
Isso mesmo, resposta correta! No percurso em ordem simétrica, três passos são seguidos para percorrer uma árvore binária: percorrer a subárvore da esquerda em ordem simétrica, visitar o nó raiz e percorrer a subárvore da direita em ordem simétrica. Dessa forma, os nós serão visitados de acordo com a ordem solicitada: {A, B, C, D, E, F, G}.

Continue navegando

Outros materiais