Buscar

Estrutura de Dados - Atividade 4

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

Prévia do material em texto

Revisar envio do teste: ATIVIDADE 4 
Usuário Thomas Raphael de Oliveira
Curso CCO02030 ESTRUTURA DE DADOS PNA (ON) - 201920.2073.01
Teste ATIVIDADE 4
Iniciado 22/09/19 11:35
Enviado 22/09/19 22:01
Status Completada
Resultado da tentativa 2,5 em 2,5 pontos 
Tempo decorrido 10 horas, 25 minutos
Resultados exibidos Respostas enviadas, Respostas corretas, Comentários
Pergunta 1
Resposta Selecionada:
 
Resposta Correta:
 
Feedback
da
resposta:
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.
0,25 em 0,25 pontos
Pergunta 2
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
Um método de busca que pode ser aplicado em uma árvore binária de busca é denominado pós-ordem. Este algoritmo pode ser enunciado a partir de três
passos: percorrer a subárvore da esquerda em pós-ordem, percorrer a subárvore da direita em pós-ordem e visitar o nó raiz. 
Considere, então, a seguinte árvore binária de busca construída com valores numéricos. 
 
Fonte: Elaborada pela autora, 2019. 
De acordo com a definição anterior, com base na figura retratada, qual é a sequência dos nós visitados em pós-ordem?
.1, 4, 2, 6, 9, 8, 5.
.1, 4, 2, 6, 9, 8, 5.
Resposta correta, parabéns! No percurso em pós-ordem, inicialmente, visitamos o nó da esquerda, que é uma subárvore com raiz (2). Como o
algoritmo é recursivo, visitamos primeiro o nó mais à esquerda (1). Depois disso, o nó da direita é visitado (4) e, por fim, a raiz da subárvore da
esquerda (2). Após visitar a subárvore da esquerda, vamos para a subárvore da direita. Primeiro é visitado o elemento mais à esquerda dessa
subárvore (6), depois o elemento à direita (9) e, por último, a raiz da subárvore da direita (8). Somente ao final é visitada a raiz (5) da árvore.
Pergunta 3
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;”.
0,25 em 0,25 pontos
0,25 em 0,25 pontos
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
.O programa não compilará.
.O programa não compilará.
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á.
Pergunta 4
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
O termo “árvore”, da vida real, pode ser associado ao tipo de estrutura de dados em certos aspectos. Ambos têm um elemento raiz de onde saem todos os
galhos ou as conexões para os nós da árvore. Estes, por sua vez, podem ser entendidos como partes da árvore que podem se desmembrar em mais partes,
formando o que chamamos de “subárvores” de uma árvore. 
Dessa forma, em relação ao tipo de árvore denominada binária, podemos afirmar que:
.um nó de uma árvore binária pode ter 0, 1 ou 2 filhos, no máximo.
.um nó de uma árvore binária pode ter 0, 1 ou 2 filhos, no máximo.
Sua resposta está exata, muito bem! A árvore é dita binária quando todos os nós da árvore têm 0, 1 ou 2 filhos, no máximo. Por este motivo,
podemos modelar um nó de uma árvore binária com uma referência para o nó filho da esquerda e outra para o da direita.
Pergunta 5
Resposta Selecionada:
 
Resposta Correta:
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.
. 
0,25 em 0,25 pontos
0,25 em 0,25 pontos
 
Feedback da
resposta:
. 
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.
Pergunta 6
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
O 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.
.V, F, F, F, V.
.V, F, F, F, V.
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.
Pergunta 7
O processo de inserção de um nó em uma árvore binária de busca viabiliza que o processo de busca por um elemento tenha melhor performance 
que uma busca sequencial, se os dados forem dispostos em uma estrutura mais simples, como um vetor. Por performance, podemos entender como o tempo
para se encontrar o elemento e o número de comparações que precisam ser feitas, a fim de se achar o item procurado. 
Com base nessas informações e em nossos estudos sobre o assunto, analise os esquemas de árvores apresentados a seguir. 
0,25 em 0,25 pontos
0,25 em 0,25 pontosI. 
II. 
III. 
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
IV. 
Agora, assinale a alternativa que contém apenas as representações com árvores binárias de busca.
.I e IV, apenas.
.I e IV, apenas.
Isso mesmo, resposta correta! As árvores binárias de busca devem seguir a regra que o nó filho da esquerda deve sempre ser menor que o nó
raiz; enquanto o nó raiz deve ser menor que o nó filho da direita. Tal regra precisa ser aceita em todas as subárvores da esquerda e da direita. 
Pergunta 8
Resposta Selecionada: 
Resposta Correta: 
Feedback da
A inserção de um elemento em uma árvore binária de busca pode ser implementada por meio de um método recursivo. Este é aquele que tem uma chamada
para o próprio método dentro da sua definição. Para que o algoritmo não execute indefinidamente, é necessário que seja inserida uma condição de parada. 
Veja o trecho de código a seguir para inserção de um nó em uma árvore binária de busca. 
 
Fonte: Elaborada pela autora, 2019. 
Com base no código anterior, assinale a alternativa que contém o comando que deve ser inserido como cláusula condicional do comando if (em destaque no
código), para que o algoritmo tenha uma condição de parada.
. 
.
Isso mesmo, resposta correta! Como a posição correta do elemento corresponde à posição do nó atual, é preciso confirmar se a posição
0,25 em 0,25 pontos
resposta: está vazia, ou seja, se não tem outro nó a ocupando, para que o elemento seja inserido.
Pergunta 9
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
A árvore é um tipo abstrato de dados em que cada um dos elementos que detém a informação armazenada é denominado “nó”. Os nós são ligados entre si
por meio de arestas. Quando isto ocorre, dizemos que o nó possui filhos e estes, por sua vez, podem ter outros filhos ou não. Quando o nó não tem nós
filhos, ele é denominado “nó folha”. Além disso, dependendo do escopo do sistema, temos que criar um tipo específico para armazenar determinada
informação.
Assim, com base em nossos estudos, qual é a palavra-chave que deve ser utilizada para iniciar um tipo abstrato de dados que corresponde a um nó da
árvore na linguagem Java?
. Class.
.Class.
Isso mesmo, sua resposta está correta! Em um nó de uma árvore, além da informação a ser armazenada, são declaradas as referências para os
nós filhos por meio de atributos. Para definir esse conjunto de informações em um único elemento, deve-se criar uma classe Java. Para isso,
precisamos iniciar sua definição com a palavra-chave “ class”, seguida do nome da classe.
Pergunta 10
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. 
 
0,25 em 0,25 pontos
0,25 em 0,25 pontos
Resposta Selecionada: 
Resposta Correta: 
Feedback
da
resposta:
Fonte: Elaborada pela autora, 2019. 
A respeito desse código, assinale a alternativa verdadeira sobre o método “buscar()”, apresentado anteriormente.
.O conteúdo do atributo “nome” não está sendo comparado corretamente.
.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.

Continue navegando

Outros materiais