Baixe o app para aproveitar ainda mais
Prévia do material em texto
Revisar envio do teste: Clique aqui para iniciar o Quiz STADCAS3DA_2304-2304-695389 2304-ESTRUTURA DE DADOS Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário FELIPE AUGUSTO SANTINHO Curso 2304-ESTRUTURA DE DADOS Teste Clique aqui para iniciar o Quiz Iniciado 24/02/24 16:37 Enviado 24/02/24 16:43 Data de vencimento 27/03/24 23:59 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 5 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: c. Respostas: a. b. Uma das operações necessárias à utilização de grafos na pesquisa em profundidade (depth-first search – DFS), cujo princípio básico parte de um determinado vértice visitar recursivamente cada nó adjacente ainda não visitado até encontrar um vértice que não tenha vértices adjacentes ainda não visitados, ou seja, segue um caminho em toda a profundidade do grafo, depois volta e segue outro caminho até o final, e assim por diante. Considerando o gráfico a seguir e partindo do vértice A, qual alternativa melhor representa o resultado da pesquisa em profundidade (DFS)? A, B, C, F, G, D, E. A, B, C, D, E, F, G. A, C, D, B, G, F, E. Sala de Aula Tutoriais 1 em 1 pontos FELIPE AUGUSTO SANTINHO 100 https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_235571_1 https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_235571_1&content_id=_10668252_1&mode=reset https://www.ead.senac.br/ https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_260_1 https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_210_1 https://senacsp.blackboard.com/webapps/login/?action=logout c. d. e. Comentário da resposta: A, B, C, F, G, D, E. G, F, E, D, C, B, A. A, B, C, D, F, E, G. Alternativa C. O algoritmo para realizar a operação DSF é o seguinte (LAFORE, 2004): • Selecione um vértice inicial, visite o vértice e empilhe-o. Visitar o vértice significa marcá-lo como visitado e realizar uma ação sobre ele; por exemplo, escrever seu conteúdo na tela. • Regra 1: Se possível, visite um vértice adjacente que ainda não tenha sido visitado, faça a marcação como visitado e empilhe o vértice. • Regra 2: Se a regra 1 não puder ser seguida e se a pilha não estiver vazia, retire um vértice. • Regra 3: Se as regras 1 e 2 não puderem ser seguidas, terminou o algoritmo. Seguindo as regras e partindo do vértice A, o caminho percorrido é A, B, C, F, G, D, E. Pergunta 2 Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da resposta: A comparação da eficiência de algoritmos pode ser realizada pela comparação de funções matemáticas básicas com as funções que representam o comportamento do algoritmo, sempre considerando os tamanhos do conjunto de dados tratado pelos algoritmos. Qual é o nome dado a essa abordagem para comparação de eficiência em algoritmos? Análise assintótica de algoritmos. Estudos experimentais. Experimento científico-matemático. Análise amostral de dados. Equipe de matemáticos especialistas. Análise assintótica de algoritmos. Alternativa E. A análise assintótica de algoritmos consiste em analisar um algoritmo e determinar, com base nas operações envolvidas em sua implementação, uma função matemática que represente o tempo de execução dele em função do tamanho do conjunto de dados, encontrando outra função matemática básica e bem conhecida (constante, quadrática, exponencial etc.) que se aproxime o melhor possível (de forma assintótica) da função definida para esse algoritmo. 1 em 1 pontos Pergunta 3 Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da resposta: A figura a seguir representa uma árvore AVL após a operação de inserção do elemento 8. Ela ficou desbalanceada, especificamente a raiz 31. Qual operação deve ser realizada para devolver o balanceamento da árvore? Rotação para a direita. Rotacionar toda a árvore duas vezes. Não fazer nada e deixar de ser árvore AVL. Inserção de um novo elemento para balancear a árvore. Remoção do novo elemento. Rotação para a direita. Alternativa E. Com a inserção do elemento 8, a subárvore esquerda da raiz 31 ficou com altura e resultou no acréscimo da altura 3. Como a subárvore direita da raiz 31 continua com altura 1, temos uma diferença de alturas igual a 2, indicando a necessidade de balanceamento da árvore. A operação necessária para devolver o balanceamento à árvore é a rotação para a direita sobre a raiz 31. Pergunta 4 Resposta Selecionada: d. Na especificação de um novo sistema, a equipe de desenvolvimento resolveu criar um tipo abstrato de dados para representar a cada amostragem realizada por um sensor instalado em uma cidade. Cada amostra deve conter o momento da medição e o valor medido. Qual seria a definição correta para esse TAD? Data, hora, medida e as operações sobre esses dados. 1 em 1 pontos 1 em 1 pontos Respostas: a. b. c. d. e. Comentário da resposta: Data, hora, medida. Nome, equipamento, data. As operações para configurar o relógio do sensor. Data, hora, medida e as operações sobre esses dados. Dados de configuração inicial do sensor e as operações sobre esses dados. Alternativa D Um tipo abstrato de dados encapsula ou agrupa um conjunto de dados (estruturas de dados) associado a um elemento de computação, juntamente com os operadores (algoritmos) que atuam na modificação deles. Neste caso, os dados devem representar o momento da amostragem (data e hora), o valor medido (medida), e o TAD deve especificar as operações sobre estes dados. Pergunta 5 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: A análise assintótica de algoritmos permite avaliar a eficiência por meio da comparação de uma função matemática que represente o comportamento do algoritmo com um conjunto básico de funções matemáticas. Qual alternativa apresenta essas funções? Constante, log, linear, NlogN, quadrática, cúbica e exponencial. Trigonométricas e algébricas. Transformada de Fourier e transformada de Laplace. Constante, log, linear, NlogN, quadrática, cúbica e exponencial. Derivadas das funções matemáticas. Integrais, baseada em cálculo numérico. Alternativa C. A utilização dos conceitos associados à análise assintótica e à notação de ordem de grandeza oferece uma poderosa ferramenta para comparação de algoritmos, pois, uma vez definida a função matemática que caracteriza um determinado algoritmo, esta pode ser enquadrada em um limitante superior de eficiência definido por outra função matemática básica e com características de eficiência conhecidas. São 7 as principais funções matemáticas básicas 1 em 1 pontos aplicáveis nesse caso (GOODRICH; TAMASSIA, 2013): Constante, log, linear, NLogN, quadrática, cúbica e exponencial. Pergunta 6 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: Qual é a alternativa que melhor representa a função matemática associada ao tempo de execução do algoritmo a seguir? int matriz [][] = new int [n][m]; int i,j; for (i=0;i<n;i++) for (j=0;j<m;j++) System.out.println(matriz[i][j]); f(n,m) = 4+3n+3n*m f(n) = 4+n2 f(n,m) = n+mn f(n,m) = 4+3n+3n*m f(n,m) = m log n f(n) = c Alternativa C. Para a determinação da função, o algoritmo será escrito com algumas alterações, cujas operações básicas e importantes foram separadas e destacadas, e os tempos e o número de execuções, indicados. O resultado é a função f(n,m) = 4+3n+3n*m Pergunta 7 Um programador está implementando um sistema embarcado para um novo equipamento industrial e necessita utilizar um algoritmo a fim de organizar valores que sejam fáceis de implantar e, também, sejam suportados pelos recursos do controlador que ele está utilizando no sistema embarcado. Nesse contexto, ele já utilizou a estrutura de dados de uma árvore de busca binária(ABB) em outro projeto, conhece as características de implementação e sabe que, na ABB, existe sempre certa ordenação entre os nós-filhos (subárvores esquerda e direita) e o nó-pai; entretanto, essa característica não é eficiente quando os dados de entrada já possuem uma determinada ordenação e resolveu-se utilizar uma árvore de busca binária balanceada (AVL). Nesse contexto, qual é a característica adicional encontrada em uma árvore AVL que a diferencia de uma ABB? 1 em 1 pontos 1 em 1 pontos Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: As alturas das subárvores direita e esquerda de qualquer nó diferem, no máximo, em uma unidade. Um nó pode ter mais do que dois filhos. Todo nó sempre tem dois filhos. As alturas das subárvores direita e esquerda de qualquer nó diferem, no máximo, em uma unidade. A altura da árvore é sempre um número par. A altura da árvore é sempre um número ímpar. Alternativa C. Uma árvore binária T é denominada AVL quando, para qualquer nó de T, as alturas de suas subárvores esquerda e direita diferem em módulo de até uma unidade. Pergunta 8 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: Considerando a estrutura de dados computacional árvore, as alternativas a seguir apresentam conjuntos de termos e palavras. Qual delas possui apenas termos ou palavras associadas diretamente à estrutura de dados árvore? Topo, nó, pai, filhos, raiz, folhas e ordenada. Plantio, colheita e semente. Arado, semente e drone. Topo, nó, pai, filhos, raiz, folhas e ordenada. Vaso, terra, poste e suporte. Linear, encadeada e posição. Alternativa C Os elementos de uma árvore são denominados nós, sendo que cada nó possui um nó-pai e zero ou mais nós-filhos. O nó do topo da árvore é denominado raiz, ocupa a posição mais elevada da árvore e não possui um nó-pai. Um nó é interno à árvore se tem um ou mais filhos, e os nós que não têm filhos são denominados externos ou folhas. Quando existe uma ordem entre os filhos dos nós de uma árvore, esta é denominada ordenada. Pergunta 9 1 em 1 pontos 1 em 1 pontos Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: Considerando o método removeInicio() (implementado em Java e disponível no material de aula), que remove um elemento do início de uma lista ligada e listado a seguir: public Object removeInicio() { No auxiliar = this.inicio; // passo 1 da figura 4 this.inicio = auxiliar.getProximo(); // passo 2 da figura 4 return auxiliar.getElemento(); // passo 3 da figura 4 } Vamos assumir que estamos tratando uma lista de valores inteiros e que a operação removeInicio() é realizada duas vezes sobre as listas representadas nas alternativas a seguir. Indique em qual delas ocorrerá um exceção ou erro de execução do programa. (10) (3, 9, 8, 10) (10, 8, 9, 3) (10) (100, 101, 102) (102, 101) Alternativa C A operação removeInicio() não realiza o teste de lista ligada vazia, sendo assim a primeira execução remove o valor 10 e deixa a lista vazia, a segunda execução resultará em exceção ou erro de execução. Pergunta 10 Resposta Selecionada: a. Respostas: a. b. No tratamento de árvores binárias de busca, na operação de eliminação ou remoção de um elemento da árvore, primeiramente, o elemento é localizado na árvore e, se for encontrado, podem ocorrer 3 situações distintas em função da quantidade de filhos do nó a ser removido. Neste contexto, qual das alternativas está correta? Quando o nó a ser removido não tiver filhos, temos a situação mais simples, mesmo que este nó seja a raiz. Quando o nó a ser removido não tiver filhos, temos a situação mais simples, mesmo que este nó seja a raiz. A remoção de um nó com os dois filhos é facilmente resolvida, eliminando os dois filhos e o próprio nó. 1 em 1 pontos Sábado, 24 de Fevereiro de 2024 16h43min06s BRT c. d. e. Comentário da resposta: Quando um nó possui os dois filhos, não pode ser eliminado. Um nó que não possui filhos não pode ser eliminado, pois não possui um sucessor. Um nó que apresente apenas um dos filhos deve ser eliminado da árvore juntamente com o filho existente. Alternativa A Quando o nó a ser removido é uma folha, ou seja, o nó não tem filhos, a remoção é simples e basta alterar o campo adequado do pai (filho esquerdo ou direito) para o valor nulo. Se o nó a ser removido é a raiz, esta deve ser alterada para nulo. ← OK
Compartilhar