Baixe o app para aproveitar ainda mais
Prévia do material em texto
10/05/2023, 19:58 Estácio: Alunos https://simulado.estacio.br/alunos/ 1/6 Meus Simulados Teste seu conhecimento acumulado Disc.: ESTRUTURA DE DADOS EM PYTHON Aluno(a): RODRIGO CARVALHO XAVIER SAMPAIO 202208357784 Acertos: 10,0 de 10,0 02/05/2023 Acerto: 1,0 / 1,0 Em Python é possível implementar um array utilizando o tipo padrão list. Essa implementação permite o uso das seguintes funções para inserir e remover um elemento, respectivamente: append, remove/pop. insert, remove/destroy. insert, delete/pop. append, pop/delete. impose, remove/destroy. Respondido em 02/05/2023 21:06:12 Explicação: Em Python a função append insere um elemento ao �nal da lista. As funções "remove" e "pop" podem remover um elemento, de maneiras diferentes. Remove tira um elemento conhecido usando o seu conteúdo, já pop remove um elemento usando seu índice, ou seja, a sua posição na lista. Acerto: 1,0 / 1,0 Ao usar a biblioteca numpy para criar arrays, existem diversas facilidades que um programador pode utilizar, como funções especí�cas para somar todos os elementos, encontrar valores mínimo e máximo dos elementos, entre outros. Entretanto uma desvantagem de usar array da biblioteca numpy é: Não é possível remover elementos do array. Diminuição no tempo de programação. Não é possível adicionar novos elementos ao array. Os índices passam a ser contados a partir de 1. Todos os elementos devem ter o mesmo tamanho. Respondido em 02/05/2023 20:30:58 Explicação: Questão1 a Questão2 a https://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); 10/05/2023, 19:58 Estácio: Alunos https://simulado.estacio.br/alunos/ 2/6 A desvantagem é que os elementos do array devem ocupar o mesmo espaço de memória, então devem ser de mesmo tamanho. Isso não permite que você crie arrays com elementos de tamanho assimétricos. Os índices continuam sendo contados a partir de 0 e as operações de inserção e remoção continuam sendo possíveis. A diminuição no tempo de programação é uma vantagem. Acerto: 1,0 / 1,0 O método de ordenação da bolha, ou Bubblesort tem como melhor caso a entrada já ordenada, que resulta em complexidade O(n). Como seu pior caso, a entrada em ordem invertida, resultando em complexidade O(n2). Baseado nessas duas a�rmações, podemos a�rmar que a sua complexidade de caso médio é: O(n) O(nlog n) O(1) O(log n) O(n2) Respondido em 02/05/2023 20:28:01 Explicação: Pelas características da notação O, a única a�rmação que podemos extrair é que o caso médio é melhor ou igual ao pior caso. Portanto, é possível a�rmar que o caso médio é O(n2), ou qualquer função assintoticamente superior a n2, como n2log n, n3, 2n etc.. Como dentre essas a única opção disponível é O(n2) essa é a resposta correta. Podemos descartar O(1) e O(log n) por serem melhores que o melhor caso, o que contradiz a a�rmativa do melhor caso. Os casos O(n) e O(nlog n) seriam possíveis teoricamente para a complexidade média de um algoritmo qualquer que seja O(n) no melhor caso e O(n2) no pior caso, mas não é possível a�rmar nenhuma das duas com as informações dadas. De fato, o caso médio do Bubblesort é O(n2). Acerto: 1,0 / 1,0 Em uma implementação da estrutura de dados do tipo �la, você possui um espaço de memória contíguo a ela alocada com capacidade para M nós. A variável da �la é F, e duas variáveis guardam os índices do início e �nal da �la (inicioF e �nalF). Em uma implementação otimizada de F, como podemos identi�car que a �la está cheia? InicioF = M InicioF==�nalF + 1 FinalF== M InicioF== �nalF InicioF==(�nalF+1)mod M Respondido em 02/05/2023 21:10:01 Explicação: Em uma implementação otimizada da �la, é usado um sistema modular, onde o início e o �nal da �la se movem a cada inserção e remoção. A cada inserção, �nalF aumenta em 1, até o máximo M, depois volta para 0 e assim por diante. A cada remoção inícioF aumenta em 1, até o máximo M e depois volta a 0. dessa forma a �la está cheia quando (�nalF+1)modM é igual a inicio. Questão3 a Questão4 a 10/05/2023, 19:58 Estácio: Alunos https://simulado.estacio.br/alunos/ 3/6 Acerto: 1,0 / 1,0 Suponha que você está implementando um programa que precisa armazenar dados ordenados em uma estrutura para serem tratados posteriormente, na ordem inversa à que foram recebidos. Haverá uma grande quantidade de recebimentos e tratamento de dados, mas o tamanho esperado da estrutura não deve variar muito. Qual tipo de estrutura de dados é a melhor nessa situação? Lista duplamente encadeada. Lista em alocação contígua. Fila. Pilha. Lista simplesmente encadeada. Respondido em 02/05/2023 20:26:06 Explicação: A pilha permite o tratamento de nós usando a política requerida, FILO ¿ ¿�rst in last out¿ -. Além disso, as operações de inserção e remoção são O(1), ou seja, de complexidade constante, a melhor possível. Isso condiz com o requisito de que haverá muitas operações desse tipo. Por �m, o fato de a estrutura não variar muito em tamanho permite o uso de uma alocação contígua e otimizada para a pilha. A �la não obedece a lógica FILO e as listas têm complexidade de inserção e remoção O(n) sendo muito piores que a pilha, principalmente quando o número desses tipos de operação é grande. Acerto: 1,0 / 1,0 Uma Pilha é uma estrutura de dados que permite o armazenamento de elementos (ou nós) sequencialmente. Sobre as Pilhas é possível a�rmar que: Permitem inserção ou remoção apenas no seu início. Permitem inserção ou remoção apenas no seu início ou no seu �nal. Permitem inserção no seu �nal e remoção apenas no seu início. Permitem inserção ou remoção em qualquer de suas posições. Permitem inserção no seu início e remoção apenas no seu �nal. Respondido em 02/05/2023 20:32:05 Explicação: A Pilha, assemelhando-se ao seu conceito na vida real, permite inserções e remoções apenas no seu início (push e pop). Dessa forma, implementa a política ¿First In, Last Out¿ (FILO) na qual o nó que chegou há menos tempo será sempre removido primeiro. As demais respostas indicam outras estruturas como listas, �las e deques. Acerto: 1,0 / 1,0 As árvores de busca são estruturas de dados que armazenam elementos de forma hierárquica, permitindo uma busca e�ciente em grandes conjuntos de dados. Marque a opção correta acerca das estruturas de dados Árvores e Árvores Binárias: Nas Árvores Binárias de Busca cada nó deve ter exatamente 2 �lhos. As folhas estão sempre no nível 1 da árvore. Ao acessar uma árvore, deve-se acessar pela referência a sua raiz. Questão5 a Questão6 a Questão7 a 10/05/2023, 19:58 Estácio: Alunos https://simulado.estacio.br/alunos/ 4/6 Os nós de uma árvore que possuem grau zero são chamados de raiz. A raiz está no maior nível da árvore. Respondido em 02/05/2023 20:36:17 Explicação: A forma comum de representar uma árvore em memória é utilizando alocação dinâmica. Não representamos a árvore como um todo, mas sim uma referência para sua raiz que guarda a chave (dado) e uma referência para a raiz das sub- árvores esquerda e direita. Um nó pode ter 0, 1 ou 2 �lhos. As folhas podem estar em qualquer nível. A raiz pode ter grau zero quando é raiz e folha simultaneamente. A raiz está sempre no nível 1. Acerto: 1,0 / 1,0 Seja a seguinte árvore binária de busca, marque a opção que apresenta o percurso em pré-ordem dessa árvore: D,B,E,F,C,A A,B,C,D,E,F F,C,E,B,A,D A,D,C,E,B,F D,A,B,E,C,F Respondido em 02/05/2023 20:36:43 Explicação: A resposta correta é a questão E. O percurso em pré-ordem é de�nido como se segue. A partir da raiz r da árvore T, percorre-se a árvore da seguinte forma: 1 - visita-se a raiz; 2 - percorre-se a subárvores esquerda de T, em pré-ordem e 3 - percorre-se a subárvores direita de T, em pré-ordem. Resultado da pesquisa pré-ordem: Questão8 a 10/05/2023, 19:58 Estácio: Alunos https://simulado.estacio.br/alunos/ 5/6 Acerto: 1,0 / 1,0 Considere a seguinte estrutura de árvore. Marque a alternativa correta: A árvoreacima é conhecida como árvore zig zag balanceada. A árvore da �gura se trata de árvore binária de busca. É necessário executar O(n2) passos para deletar um elemento da árvore acima. Remover o nó 36 irá deixar a árvore com as propriedades de árvore binária de busca. Pode-se a�rmar que o número de passos para buscar um elemento na árvore acima é, no máximo, O(log n). Respondido em 02/05/2023 20:52:13 Explicação: Apesar de que a árvore considerada não é árvore binária de busca, observa-se que os nós estão dispostos de forma balanceada e em níveis, portanto o número de passos para buscar um elemento na árvore acima é, no máximo, 0(log n). Acerto: 1,0 / 1,0 Questão9 a Questão10 a 10/05/2023, 19:58 Estácio: Alunos https://simulado.estacio.br/alunos/ 6/6 Em uma Árvore B, temos que: Cada nó contém no mínimo m registros (m+1 descendentes) e no máximo 2m registros (e 2m+1 descendentes), exceto o nó que é raiz que pode conter entre 1 e 2m registros e todos os nós folhas aparecem no mesmo nível. Sobre Árvores B, é correto a�rmar: O particionamento de nós em uma Árvore B ocorre quando um registro precisa ser inserido em um nó com 2m registros. O particionamento de nós ocorre quando é necessário diminuir a altura da árvore. O particionamento de nós em uma Árvore B ocorre quando um registro precisa ser buscado em um nó com 2m + 1 registros. O particionamento de nós em uma Árvore B ocorre quando um registro precisa ser inserido em um nó com menos de 2m registros. O particionamento de nós em uma Árvore B ocorre quando a chave do registro a ser inserido contém um valor(conteúdo) intermediário entre os valores das chaves dos registros contidos no mesmo nó. Respondido em 02/05/2023 20:59:54 Explicação: O particionamento de nós em uma Árvore B ocorre quando um registro precisa ser inserido em um nó com 2m registros.
Compartilhar