Prévia do material em texto
APOL OBJETIVA 03 – ESTRTUTURA DE DADOS Questão 1/5 - Estrutura de Dados Na AULA 4 estudamos árvores binárias. Acerca de árvore binárias e a inserção dos dados em uma árvore construída para funcionar como uma Binary Search Tree, assinale a alternativa CORRETA. Nota: 0.0 A Em uma BST trabalhando com dados numéricos inteiros, cada elemento de valor maior que seu nó pai é inserido no ramo esquerdo. Valores menores ficam no ramo esquerdo; B Em uma BST, podemos inserir elemento em qualquer posição da árvore binária. Inserção somente no nó-folha; C Em uma BST trabalhando com dados numéricos inteiros, cada elemento de valor menor que seu nó pai é inserido no ramo direito. Valores maiores ficam no ramo esquerdo; D Se tivermos uma árvore com somente uma raiz e com o valor 1, e inserirmos, na sequência, o valor 2, seguido pelo 3, 4 e 5. Isso resultará em uma árvore binária se comportando como se fosse uma lista encadeada simples, pendendo para o ramo esquerdo. Penderá para o ramo direito; E Caso já exista um elemento inserido, tanto no ramo esquerdo quanto no ramo direito de um nó, deve-se avançar para o próximo nó para tentar a inserção, pois não será possíve l inserir neste. Correto. Como ambos ponteiro já estão ocupados, pulamos par ao próximo e verificamos; Questão 2/5 - Estrutura de Dados Filas apresentam características de inserção e remoção na estrutura de dados seguindo a regra do primeiro que entra é o primeiro que sai. Observe o código da fila abaixo construída utilizando listas encadeadas. O código realiza a inserção de um novo elemento nesta fila. 1. NovoElemento->dado = numero 2. se (Head == NULO) então 3. Head = NovoElemento 4. Senão 5. ElementoVarredura = Head 6. enquanto (ElementoVarredura->prox <> NULO) 7. ElementoVarredura = ElementoVarredura->prox 8. Fimenquanto 9. ElementoVarredura->prox = NovoElemento 10. NovoElemento->prox = NULO 11. Fimse Considerando que NovoElemento é um novo elemento que será inserido nesta fila, ElementoVarredura é uma variável que servirá para localizar o local de inserção, Head é o elemento que está no início da fila, assinale a alternativa CORRETA acerca de filas implementadas com listas encadeadas: Nota: 0.0 A O último elemento da lista encadeada deverá conter um ponteiro nulo, conforme indicado na linha 9. Na linha 10. B As linhas 6, 7 e 8 indicam nos dizem que, para realizar a inserção, precisamos varrer até localizarmos o último elemento, o qual não poderá conter um ponteiro nulo. O último conterá um ponteiro nulo. C Se o head estiver nulo, significa que podemos inserir um elemento após o head, mesmo que ele esteja nulo Head nulo significa inserir no local do próprio head. D A varredura pela posição de inserção inicia no primeiro elemento da lista, conforme indicado na linha 5. Correto. E Não seria possível substituir o laço de repetição enquanto por uma para-faça devido a condição de parada aplicada. É sempre possível substituir um laço de repetição por outro, basta fazer as devidas adaptações. Questão 3/5 - Estrutura de Dados Na AULA 4 estudamos árvores binárias. Acerca de árvore binárias, seus conceitos e suas definições, Assinale a alternativa INCORRETA. Nota: 20.0 A Uma característica das árvores binárias é que elas são uma estrutura de dados organizadas de maneira não linear, diferente de uma lista encadeada. B Uma árvore binária, quando aplicada para uso em algoritmos de busca de dados, deverá ter seus dados inseridos de uma maneira organizada para facilitar a busca. C O grau de um nó na árvore binária é calculado a partir de um número de ramificações que cada nó tem; D O grau de uma árvore binária pode ser sempre, e somente, 1 ou 2; Você acertou! Pode ser 0, 1 ou 2. AULA 4 – TEMA1; E Toda árvore contém um nó inicial denominado de nó raíz; Questão 4/5 - Estrutura de Dados No terceiro assunto da disciplina estudamos a estrutura de dados do tipo lista encadeada. O código abaixo representa a inserção em uma lista encadeada. 1. NovoElemento->dado = numero 2. se (Head == NULO) então 3. Head = NovoElemento 4. Head->prox = NULO 5. Senão 6. NovoElemento->prox = Head 7. Head = NovoElemento 8. fimse Considerando que NovoElemento é um novo elemento que será inserido nesta lista e Head caracteriza o primeiro elemento da lista. Assinale a alternativa CORRETA sobre este algoritmo. Nota: 0.0 A O algoritmo apresentado representa uma inserção no final de uma lista encadeada simples, pois um laço faz a varredura até localizar o final da lista e insere o novo elemento. Não existe laço que varre até o final da lista. B O algoritmo apresentado representa uma inserção no início de uma lista encadeada dupla, pois a linha 6 mostra o novo elemento apontando para o Head. A lista não é do tipo simples. C O algoritmo apresentado representa uma inserção no início de uma lista encadeada simples, pois a linha 6 mostra o novo elemento apontando para o Head. CORRETO – AULA 3 – TEMA 2. D O algoritmo apresentado representa uma inserção no final de uma lista encadeada dupla, pois um laço faz a varredura até localizar o final da lista e insere o novo elemento. Não existe laço que varre até o final da lista e alista é simples. E Baseado no algoritmo apresentado, podemos afirmar que este código pertence ao de uma lista encadeada simples e circular. Não podemos afirmar que a lista é circular, pois só saberemos caso víssemos o código de inserção no final da lista. Questão 5/5 - Estrutura de Dados No terceiro assunto da disciplina estudamos a estrutura de dados do tipo lista encadeada. O código abaixo representa cada elemento de uma lista duplamente encadeada. 1. registro ElementoDaLista_Dupla 2. dado: inteiro 3. prox: ElementoDaLista[->) 4. ant: ElementoDaLista[->) 5. fimregistro Acerca de lista encadeadas duplas, assinale a alternativa INCORRETA: Nota: 0.0 A O código de criação da estrutura de uma lista encadeada dupla, conforme apresentado acima, é igual para uma circular e uma não circular. B O código acima representa uma lista não circular, pois uma lista dupla e circular deveria conter um ponteiro para o próximo elemento da lista, outro ponteiro para o elemento anterior da lista e também um ponteiro para o primeiro elemento da lista. Não existe o ponteiro para o primeiro elemento. Somente o ultimo elemento aponta de volta para o primeiro. C O código acima pode representar uma lista encadeada dupla não circular, pois conterá um ponteiro para o próximo elemento da lista e um para o elemento anterior da lista. D Se removermos a linha 4, transformamos a lista encadeada dupla em uma simples. E Um inserção no final da lista encadeada e circular, significaria fazer com o que o novo elemento inserido no final tivesse seu ponteiro para o próximo elemento apontando de volta para o início da lista encadeada.