Logo Passei Direto
Buscar

Estrutura de Dados - Atividade 4

Ferramentas de estudo

Questões resolvidas

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.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

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.

Prévia do material em texto

• Pergunta 1 
1 em 1 pontos 
 
Um tipo abstrato de dados, por definição, deve ter uma forma de armazenar 
a informação e um conjunto de operações que podem ser aplicadas sobre 
os dados armazenados. Na linguagem Java, um método fica declarado 
dentro da classe que define o tipo do objeto. Para se definir um método, 
deve ser informado um modificador de acesso, um tipo de retorno, o nome 
do método e o conjunto de parâmetros. 
Assim, considerando essas informações e nossos estudos, assinale a 
alternativa a seguir com a declaração de um método público na linguagem 
Java, o qual recebe um objeto do tipo “Pergunta” e retorna um vetor 
de strings corresponde às opções de resposta. 
 
Resposta Selecionada: 
.public String[] metodo(Pergunta p){}. 
Resposta Correta: 
.public String[] metodo(Pergunta p){}. 
Feedback 
da resposta: 
Sua resposta está correta, parabéns! Um método público indica 
sua definição com a palavra-chave “ public”, seguida do tipo de 
retorno, o nome do método e a lista de parâmetros. Além disso, 
entre abre e fecha parênteses, devem ser definidos os 
parâmetros. 
 
 
• Pergunta 2 
1 em 1 pontos 
 
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;”. 
 
Resposta Selecionada: 
.O programa não compilará. 
Resposta Correta: 
.O programa não compilará. 
Feedba
ck da 
respost
a: 
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 3 
1 em 1 pontos 
 
Imagine que você foi contratado para implementar um aplicativo que testa os 
conhecimentos da disciplina de Estrutura de Dados no ENEM. Para isso, você 
modelou uma classe “ EstruturaDadosEnem”, que contém os seguintes atributos: 
uma string contendo o texto da pergunta, um inteiro correspondente à área do 
conhecimento e um vetor de cinco strings para armazenar as opções de 
resposta e dicas de estudo. Como o objetivo é, ao final, indicar para os alunos 
quais as áreas de estudo que ele tem que se dedicar mais, você decidiu que 
a estrutura de dados mais propícia seria uma árvore. 
Considerando essas informações, assinale a alternativa a seguir que contém 
a implementação de uma classe “EstruturaDadosEnem”, conforme descrito, 
para ser inserida em uma árvore. 
 
Resposta Selecionada: 
. 
 
 
 
 
Resposta Correta: 
.
 
Feedback 
da 
resposta: 
Isso mesmo, sua resposta está correta! A definição de um nó de 
uma árvore é realizada pela criação de uma classe denominada 
“EstruturaDadosEnem”. No contexto apresentado, no escopo 
desta classe, devem ser declarados como atributos os dados que 
armazenam informações sobre ela: pergunta, área e opções de 
resposta. O atributo pergunta deve ser declarado como do 
tipo string, a área deve ser um inteiro (definido pelo tipo 
primitivo int) e precisa haver um vetor do tipo string que 
corresponde às opções de resposta ( String []). 
 
• Pergunta 4 
1 em 1 pontos 
 
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. 
 
Resposta Selecionada: 
. 
 
Resposta Correta: 
.
 
 
 
Feedback da 
resposta: 
Isso mesmo, resposta correta! Como a posição correta do 
elemento corresponde à posição do nó atual, é preciso confirmar 
se a posição está vazia, ou seja, se não tem outro nó a 
ocupando, para que o elemento seja inserido. 
 
• Pergunta 5 
1 em 1 pontos 
 
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. 
 
Resposta Selecionada: 
.V, F, F, F, V. 
Resposta Correta: 
.V, F, F, F, V. 
Feedback 
da 
resposta: 
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 6 
1 em 1 pontos 
 
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. 
 
Resposta Selecionada: 
.A*B/C. 
Resposta Correta: 
.A*B/C. 
Feedba
ck da 
respost
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). 
 
 
 
• Pergunta 7 
1 em 1 pontos 
 
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émo 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. 
 
Resposta Selecionada: 
. 
Resposta Correta: 
. 
Feedba
ck da 
respost
a: 
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. 
 
 
 
 
• Pergunta 8 
1 em 1 pontos 
 
Uma estrutura de dados do tipo árvore é formada por uma série de elementos 
ou nós que são ligados entre si por meio de arestas. O processo de 
construção de uma árvore começa pela definição do nó raiz e pela inserção 
dos nós filhos das subárvores da esquerda e da direita. Considere, por 
exemplo, o nó formado pelo nome das áreas da Ciência da Computação, que 
são derivadas da disciplina de Estrutura de Dados: Laboratório de 
Programação I e Análise de Algoritmos. 
 
Fonte: Elaborada pela autora, 2019. 
Agora, considere o trecho de código a seguir. Veja que ele representa a 
criação de uma árvore binária, cuja informação é armazenada em uma classe 
“NoDisciplina”, em um atributo do tipo string. 
 
Fonte: Elaborada pela autora, 2019. 
Sendo assim, assinale a alternativa a seguir que realiza a inserção dos filhos 
da esquerda e da direita, conforme apresentado no esquema da subárvore. 
 
Resposta Selecionada: 
. 
Resposta Correta: 
. 
Feedba
ck da 
respost
a: 
Muito bem, sua resposta está de acordo! Para os nós filhos da 
esquerda e da direita, o primeiro passo é criar o objeto do tipo 
“NoDisciplina”, preencher o nome da disciplina por meio da chamada 
do método “setInformacao” — já que os atributos são privados — e, 
por fim, adicionar a referência do nó filho ao nó raiz. 
 
 
 
 
• Pergunta 9 
1 em 1 pontos 
 
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. 
 
Resposta Selecionada: 
. 
Resposta Correta: 
. 
Feedba
ck da 
respost
a: 
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 10 
1 em 1 pontos 
 
As árvores binárias de busca podem ser percorridas por meio do método de 
busca denominado pré-ordem. Este algoritmo pode ser enunciado a partir 
de três passos: visitar o nó raiz, percorrer a subárvore da esquerda em pré-
ordem e percorrer a subárvore da direita em pré-ordem. 
Assim, considere a seguinte árvore binária de busca construída com letras 
do alfabeto. 
 
Fonte: Elaborada pela autora, 2019. 
De acordo com a definição anterior e nossos estudos sobre o assunto, 
considerando a figura retratada, qual é a sequência dos nós visitados em 
pré-ordem? 
 
Resposta Selecionada: 
.D, B, A, C, F, E, G. 
Resposta Correta: 
.D, B, A, C, F, E, G. 
Feedback 
da 
resposta: 
Isso mesmo, resposta correta! No percurso em pré-ordem, o nó 
raiz é o primeiro a ser visitado. Em seguida, é visitada a 
subárvore da esquerda. Iniciando pela raiz (B), vamos, na 
sequência, visitar o elemento mais à esquerda (A) e, depois, o 
nó à direita (C). O resultado dessa avaliação é o nó à esquerda. 
O processo continua: é visitado o nó raiz (/) e, por fim, o nó à 
direita (C). O mesmo é feito para a subárvore da direita: primeiro 
é visitada a raiz (F), depois o nó da esquerda (E) e, por último, o 
nó mais à direita (G).

Mais conteúdos dessa disciplina