Buscar

ESTRUTURA DE DADOS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Meus
Simulados
Teste seu conhecimento acumulado
Disc.: ESTRUTURA DE DADOS   
Aluno(a): THIAGO ALVES SILVESTRINI 202301034779
Acertos: 9,0 de 10,0 13/09/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:
insert, remove/destroy.
 append, remove/pop.
insert, delete/pop.
impose, remove/destroy.
append, pop/delete.
Respondido em 13/09/2023 16:18:09
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
O uso de funções recursivas pode facilitar a implementação de diversos algoritmos. Toda recursão depende de
dois elementos: o caso base e o passo recursivo. Dentre as opções a seguir, a que apresenta um passo recursivo
é:
�b(n)=n-1 + n-2
 fat(n)=n*fat(n-1)
par(n)=par(n)
f(n)=g(n-1)
fat(1)=1
Respondido em 13/09/2023 16:19:11
Explicação:
O passo recursivo é o elemento que faz o cálculo da função recursiva mover-se em direção ao resultado. Deve
envolver a chamada da própria função com um valor diferente de entrada. Isso só acontece na resposta correta:
 Questão1
a
 Questão2
a
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
fat(n)=n*fat(n-1) , passo recursivo da função de cálculo de fatorial.
fat(1)=1  é o caso base dessa mesma função. par(n)=par(n)  é uma tautologia, e não uma recursão. As demais respostas
são funções que não chamam a si mesmas, não podendo ser passos recursivos.
Acerto: 1,0  / 1,0
Dada a seguinte matriz M, inicializada com o código:
M=[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]
O código em Python para imprimir cada elemento da coluna iniciada pelo elemento 3 é:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
for coluna in M:
            print(coluna)
 for linha in M:
            print(linha[2])
for linha in M:
            print(linha)
for linha in M:
            print(linha[3])
print(M[2])
Respondido em 13/09/2023 16:20:29
Explicação:
O laço deve percorrer uma coluna, iterando linha a linha e extraindo dela o seu terceiro elemento, ou seja linha[2]. A
resposta correta itera pelas linhas e imprime o elemento  [2] de cada uma.
Dentre as respostas erradas, apenas escrever ¿print(linha)¿ imprimirá cada linha como um todo, resultando na
impressão de toda a matriz, linha a linha.
A resposta "print(coluna)" terá o mesmo resultado pois para o código linha e coluna são apenas nomes escolhidos pelo
programador. Poderia ser i, aux ou qualquer outra variável escolhida.
Já "print(linha[3])" está com o índice errado, imprimindo os elementos da coluna iniciada por 4. E ¿print(M[2])¿
imprime toda a linha iniciada por 9.
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 em 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 dado é a melhor nessa situação?
Lista simplesmente encadeada.
 Fila.
Lista em alocação contígua.
Pilha.
 Questão3
a
 Questão4
a
Lista duplamente encadeada.
Respondido em 13/09/2023 16:23:29
Explicação:
A �la permite o tratamento de nós usando a política requerida, FIFO ¿ ¿�rst in �rst 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 �la usando lógica circular e variáveis para o início e �nal da �la. A pilha não
obedece a lógica FIFO e as listas tem complexidade de inserção e remoção O(n) sendo muito piores que a �la,
principalmente quando o número desses tipos de operação é grande.
Acerto: 1,0  / 1,0
Uma Lista pode ser implementada de forma contígua ou encadeada. No caso de uma lista ordenada
implementada de forma encadeada, as complexidades de pior caso de busca, inserção e remoção são
respectivamente:
O(log n), O(n) e O(n).
O(n), O(1) e O(n).
 O(n), O(n) e O(n).
O(1), O(n) e O(n).
O(n), O(n) e O(1).
Respondido em 13/09/2023 16:24:15
Explicação:
A busca é O(n) pois no pior caso você terá que percorrer toda a lista sequencialmente até encontrar o último
elemento. Já a inserção, no seu pior caso, colocará um elemento no �nal da lista, uma operação simples, mas a busca
para achar a posição correta já é O(n). A remoção de qualquer nó também é uma operação de custo constante,
bastando reapontar um ponteiro, mas a busca pelo nó a ser removido também é O(n), o que faz a operação de
remoção também possuir complexidade O(n).
Acerto: 1,0  / 1,0
Uma lista L em alocação contígua está armazenada em memória no endereço 32. L possui elementos de 2 bytes
cada e no momento contém [10, 20, 30, 40] . Os elementos 5 e 50 serão inseridos em sequência. Em que
endereços eles serão inseridos, respectivamente, caso a lista não seja ordenada, e caso a lista seja ordenada?
Não ordenada: 36, 37; ordenada: 32, 33.
Não ordenada: 36, 37; ordenada: 32, 37.
Não ordenada: 40, 42;  ordenada: 40, 42.
 Não ordenada: 40, 42; ordenada: 32, 42.
Não ordenada: 32, 34; ordenada: 32, 34.
Respondido em 13/09/2023 16:27:24
Explicação:
A inserção na lista não ordenada ocorre ao �nal da lista, o 5o elemento será inserido na posição L[4] ou seja endereço
32 + 4 * 2 = 40 . O elemento seguinte L[5] será inserido no endereço 32 + 5 * 2 = 42. Já no caso ordenado, o primeiro
elemento deverá ser inserido na primeira posição L[0], endereço 32. Todos os demais elementos serão deslocados
 Questão5
a
 Questão6
a
uma posição. O segundo elemento será inserido ao �nal da lista em L[4]. Ou seja, endereço 32 + 4 * 2 = 42 (levando em
conta o deslocamento) . Solução é, portanto: 40,42, 32,42.
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:
As folhas estão sempre no nível 1 da árvore.
A raiz está no maior nível da árvore.
Nas Árvores Binárias de Busca cada nó deve ter exatamente 2 �lhos.
Os nós de uma árvore que possuem grau zero são chamados de raiz.
 Ao acessar uma árvore, deve-se acessar pela referência a sua raiz.
Respondido em 13/09/2023 16:28:12
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: 0,0  / 1,0
Seja a seguinte árvore binária. Analise as a�rmativas e marque a correta.
Supondo que a árvore em questão é uma árvore binária de busca, a inserção de um novo nó com chave
47 pode ser feita em qualquer subárvore vazia.
É possível inserir mais um nó �lho ao nó 30.
 A �gura ilustra uma árvore binária de busca porque para todos os nós vale a seguinte propriedade: os
nós contidos na subárvores esquerda são menores que a raiz e os contidos na subárvore direita são
maiores.
 Ao buscar pelo nó 45 na árvore acima, um algoritmo de busca em Python irá realizar sempre
O(n) passos. Isto ocorre uma vez que é necessário analisar todos os nós da árvore para encontrar o nó
45.
A árvore acima possui 4 nós folhas.
Respondido em 13/09/2023 16:32:49
Explicação:
A árvore é uma árvore binária de busca porque dado umnó qualquer da árvore, os nós contidos na subárvore
esquerda são menores que a raiz e os a direita, maiores que a raiz. A busca só seria executada em O(n) caso a árvore
 Questão7
a
 Questão8
a
fosse uma árvore zig zag.  47 só poderia ser inserido à direita de 45. A árvore tem 3 folhas. Arvores binárias só podem
ter nós com grau 2.
Acerto: 1,0  / 1,0
Uma árvore binária de busca auto balanceada é uma estrutura de dados avançada, que otimiza os tempos de
inserção, deleção e busca. Um módulo Python que implementa e executa essas atividades e�cientemente é a
sbbst (do inglês, self-balancing binary search tree). A complexidade de espaço do módulo sbbst:
0(n2).
0(n log n).
0(log n).
0(n3).
 0(n).
Respondido em 13/09/2023 16:29:53
Explicação:
O módulo sbbst possui espaço O(n)  na memória (onde n  equivale a quantidade de nós de uma árvore).
Acerto: 1,0  / 1,0
Seja a seguinte árvore AVL abaixo. Com a inserção da chave 90, marque a opção que indica exatamente o que
acontecerá com a árvore resultante após essa inserção:
A árvore resultante irá desbalancear à direita do nó de chave 80.
A árvore resultante irá manter o balanceamento geral da árvore.
A árvore resultante irá desbalancear à direita do nó de chave 40.
 A árvore resultante irá desbalancear à esquerda do nó de chave 60.
A árvore resultante irá desbalancear à esquerda do nó de chave 10.
Respondido em 13/09/2023 16:31:16
Explicação:
Ao inserir o nó de chave 90, ele é maior que o nó 80, sendo assim, inserido ao lado direito de 80, causando
desbalanceamento do nó 60 que tem altura da subárvore direita 2 e esquerda 0.
 Questão9
a
 Questão10
a

Continue navegando