Prévia do material em texto
Estrutura de dados atividade 4
Pergunta 1
0,25 em 0,25 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
0,25 em 0,25 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.
Feedback da resposta:
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 3
0,25 em 0,25 pontos
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.
Resposta Selecionada:
.NoProduto noProd = new NoProduto();.
Resposta Correta:
.NoProduto noProd = new NoProduto();.
Feedback da resposta:
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();”.
Pergunta 4
0,25 em 0,25 pontos
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.
Resposta Selecionada:
.A árvore AVL é balanceada.
Resposta Correta:
.A árvore AVL é balanceada.
Feedback da resposta:
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.
Pergunta 5
0,25 em 0,25 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:
.
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
0,25 em 0,25 pontos
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}?
Resposta Selecionada:
.Ordem simétrica.
Resposta Correta:
.Ordem simétrica.
Feedback da resposta:
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}.
Pergunta 7
0 em 0,25 pontos
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:
Resposta Selecionada:
.ela tem um tamanho pré-determinado, chamado “altura”.
Resposta Correta:
.um nó de uma árvore binária pode ter 0, 1 ou 2 filhos, no máximo.
Feedback da resposta:
Infelizmente sua resposta está equivocada. As árvores binárias têm a característica do nome atrelada ao número de nós filhos que podem existir. Esse tipo abstrato de dados é comumente utilizado para melhorar o processo de busca por elementos, em comparação com a busca sequencial, devido sua constituição. Releia nosso material de estudos e tente responder novamente à questão!
Pergunta 8
0,25 em 0,25 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:
.
Feedback da resposta:
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
0 em 0,25 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:
Infelizmente sua resposta está incorreta. A condição de parada, no caso, deve interromper o processo de busca pelo local de inserção do elemento. Procure estudar esse algoritmo, selecione um exemplo de árvore binária de busca e o execute passo a passo para entender seu funcionamento. Releia nosso material de estudos a respeito do assunto e tente responder novamente!
Pergunta 10
0,25 em 0,25 pontos
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.
I.
II.
III.
IV.
Agora, assinale a alternativa que contém apenas as representações com árvores binárias de busca.
Resposta Selecionada:
.I e IV, apenas.
Resposta Correta:
.I e IV, apenas.
Feedback da resposta:
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.