Prévia do material em texto
quinta, 7 abr 2022, 20:23 Estado Finalizada Concluída em quinta, 7 abr 2022, 20:50 Tempo empregado 26 minutos 42 segundos Avaliar 10,00 de um máximo de 10,00(100%) Parte superior do formulário Questão 1 Correto Atingiu 1,00 de 1,00 Marcar questão Texto da questão 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? a. .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. b. .4, 2, 5, 6, 3, 7, 1. c. .4, 2, 1, 9, 8, 6, 5. d. .1, 2, 3, 4, 5, 6, 7. e. .1, 2, 4, 5, 6, 8, 9. Feedback A resposta correta é: .1, 4, 2, 6, 9, 8, 5. Questão 2 Correto Atingiu 1,00 de 1,00 Marcar questão Texto da questão 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? a. .TAD. b. .Object. c. .Typedef. d. .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. e. .Type. Feedback A resposta correta é: .Class. Questão 3 Correto Atingiu 1,00 de 1,00 Marcar questão Texto da questão Para a definição de um nó em uma árvore, precisamos, inicialmente, encapsular a informação armazenada em um novo tipo de dado, ou seja, em uma nova classe Java. Isto é possível por meio da declaração dos atributos na classe, que nada mais são do que variáveis presentes em todos os objetos de determinado tipo. Os atributos são variáveis, posições na memória do computador que podem armazenar dados, formadas por quatro elementos: nome, tipo, tamanho e valor. Na linguagem Java, é possível, ainda, definir um modificador de visibilidade se a variável for um atributo da classe, sendo os valores permitidos public, private, protected ou default. A figura a seguir, por exemplo, traz a declaração de uma classe "Pergunta", com três atributos: texto da pergunta, alternativas e dicas sobre como responder. Observe. Fonte: Elaborada pela autora, 2019. Sendo assim, assinale a alternativa a seguir que contém a inicialização correta do atributo "opcoesResposta" com cinco opções em um objeto do tipo "Pergunta" na linguagem Java. a. .int[] opcoesResposta = new opcoesResposta[5];. b. .String[] opcoesPergunta = {"A", "B", "C", "D", "E"};. Muito bem, sua resposta está correta! Um vetor de elementos do tipo string pode ser inicializado informando o tipo string dos dois lados da igualdade e indicando o número de elementos no lado direito da igualdade, ou pode ser inicializado com os valores diretamente do lado direito. No caso em questão, temos que "String[] opcoesPergunta = {"A", "B", "C", "D", "E"};". c. .String[] opcoesPergunta = new String[];. d. .String[5] opcoesPergunta = new String[];. e. .Pergunta opcoesResposta = new Pergunta();. Feedback A resposta correta é: .String[] opcoesPergunta = {"A", "B", "C", "D", "E"};. Questão 4 Correto Atingiu 1,00 de 1,00 Marcar questão Texto da questão 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. a. .X = 14 e Y = 3. b. .X = 1 e Y = 11. c. .X = 10 e Y = 9. d. .X = 9 e Y = 10. e. .X = 3 e Y = 14. 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. Feedback A resposta correta é: .X = 3 e Y = 14. Questão 5 Correto Atingiu 1,00 de 1,00 Marcar questão Texto da questão 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. .A árvore crescerá indefinidamente. b. .A árvore será transformada em uma lista circular. c. .Será levantada uma exceção quando o programa for executado. d. .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á. e. .O método retornará somente false. Feedback A resposta correta é: .O programa não compilará. Questão 6 Correto Atingiu 1,00 de 1,00 Marcar questão Texto da questão 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}? a. .Pré-ordem. b. .Busca aleatória. c. .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}. d. .Pós-ordem.e. .Busca sequencial. Feedback A resposta correta é: .Ordem simétrica. Questão 7 Correto Atingiu 1,00 de 1,00 Marcar questão Texto da questão 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. a. .V, V, F, F, V. b. .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. c. .F, V, F, V, F. d. .F, F, V, V, F. e. .V, F, V, F, V. Feedback A resposta correta é: .V, F, F, F, V. Questão 8 Correto Atingiu 1,00 de 1,00 Marcar questão Texto da questão 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. a. . b. . c. . 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. d. . e. . Feedback A resposta correta é: . Questão 9 Correto Atingiu 1,00 de 1,00 Marcar questão Texto da questão 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. a. . b. . 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. c. . d. . e. . Feedback A resposta correta é: . Questão 10 Correto Atingiu 1,00 de 1,00 Marcar questão Texto da questão 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. a. . 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 []). b. . c. . d. . e. . Feedback A resposta correta é: . Parte inferior do formulário