Buscar

ESTRUTURA DE DADOS EM PYTHON

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 10 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 10 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 9, do total de 10 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

Prévia do material em texto

1/10
 
Meus Simulados
Teste seu conhecimento acumulado
 
 202301177431
 
0
15/09/2023
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 adicionar novos elementos ao array.
Não é possível remover elementos do array.
Os índices passam a ser contados a partir de 1.
 Todos os elementos devem ter o mesmo tamanho.
Diminuição no tempo de programação.
Respondido em 15/09/2023 12:41:46
Explicação:
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.
 Questão1
a
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
http://cbs.wondershare.com/go.php?pid=5484&m=db
2/10
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
print(M[2])
for linha in M:
            print(linha[3])
for coluna in M:
            print(coluna)
for linha in M:
            print(linha)
 for linha in M:
            print(linha[2])
Respondido em 15/09/2023 12:42:47
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.
 Questão2
a
http://cbs.wondershare.com/go.php?pid=5484&m=db
3/10
Acerto: 1,0  / 1,0
O método de ordenação da bolha, ou Bubblesort (BS) tem complexidade de pior caso O(n2) e melhor caso O(n). Suponha que
exista um algoritmo de ordenação MS que tem complexidade de melhor caso O(nlog n) e de pior caso O(nlog n). Podemos
a�rmar que:
MS e BS são igualmente e�cientes em ordenar elementos, independente da entrada ou seu tamanho.
Para uma única entrada de tamanho grande, BS executará em menos tempo que MS.
Para uma única entrada de tamanho grande, MS executará em menos tempo que BS.
 Para um grande conjunto de entradas variadas de tamanho grande, MS executará em menos tempo que BS, em média.
Para um grande conjunto de entradas variadas de tamanho grande, BS executará em menos tempo que MS, em média.
Respondido em 15/09/2023 12:44:28
Explicação:
Pela natureza do tratamento de complexidade de algoritmos e o uso da notação O, a única a�rmativa verdadeira é a de que em média,
com um grande número de entradas distintas e de tamanho grande, MS executará mais rápido que BS pois sua complexidade
assintótica O(nlogn) é melhor que a de BS O(n2).
A a�rmação inversa está errada pelo mesmo argumento, O(nlogn) é melhor que O(n2).
As a�rmações que tratam de uma única entrada são falsas, pois você sempre pode escolher uma entrada que seja de melhor caso para
um dos algoritmos e seja ruim para o outro.
Por �m, a a�rmação de que ambos são igualmente e�cientes é desmentida pelo pior caso.
Acerto: 1,0  / 1,0
Uma lista L encadeada e ordenada está armazenada em memória seguindo o exemplo abaixo. Após a remoção do nó de chave 3, quais
alterações terão ocorrido?
 Questão3
a
 Questão4
a
http://cbs.wondershare.com/go.php?pid=5484&m=db
4/10
O endereço 24 conterá a chave 5 e próximo 64.
O endereço 32 terá seu campo próximo apontando para 24.
 A variável L apontará para 128.
O conteúdo armazenado no endereço 32 será apagado.
L terá sido apagada.
Respondido em 15/09/2023 12:45:45
Explicação:
A remoção solicitada é do primeiro elemento da lista encadeada. Para realizar esse tipo de remoção, basta apontar a variável que guarda o
primeiro elemento (L) para o endereço do segundo elemento. Este endereço está armazenado no campo próximo do primeiro elemento. Ou
seja, a variável L deverá apontar para 128.
A resposta endereço 24 conterá a chave 5 está errada pois na lista encadeada, os elementos não precisam ser puxados após uma remoção.
A resposta endereço 32 terá seu campo próximo alterado está errada, pois isso adicionaria um elemento ao �nal da lista, no caso tornando-a
circular.
As demais respostas estão erradas pois nada será apagado.
http://cbs.wondershare.com/go.php?pid=5484&m=db
5/10
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 em alocação contígua.
 Pilha.
Lista duplamente encadeada.
Lista simplesmente encadeada.
Fila.
Respondido em 15/09/2023 12:46:49
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
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?
 Fila.
Lista simplesmente encadeada.
Lista duplamente encadeada.
Pilha.
Lista em alocação contígua.
Respondido em 15/09/2023 12:51:57
 Questão5
a
 Questão6
a
http://cbs.wondershare.com/go.php?pid=5484&m=db
6/10
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
Seja a seguinte função em Python para percurso em uma árvore binária implementada em Python. Marque a opção correta de
qual percurso em árvores se trata essa função:
Percurso raiz-folha
Percurso Anti simétrico
Percurso Em-ordem
 Percurso Pré-ordem
Percurso Pós-ordem
Respondido em 15/09/2023 12:52:50
Explicação:
Para realizar o percurso em pré-ordem, são necessários três acessos ao nó. No caso da pré-ordem, no primeiro, executamos a visita
(print(raiz.chave)), no segundo,chamamos recursivamente o algoritmo para a sub-árvores esquerda (Visita(raiz.esquerda)) e, no
terceiro, ocorre a chamada do percurso em pré-ordem do ramo direito (Visita(raiz.direita)).
Acerto: 1,0  / 1,0
 Questão7
a
 Questão
8
a
http://cbs.wondershare.com/go.php?pid=5484&m=db
7/10
Seja a seguinte árvore de expressões aritméticas abaixo.
O resultado da visita em pre�xo dessa árvore é:
A + * B C
A + B * C
A + ( B * C )
 + A * B C
A * B + C
Respondido em 15/09/2023 12:54:08
Explicação:
O percurso em pre�xo é de�nido recursivamente. A partir da raiz r da árvore de expressões aritméticas T, percorre-se a árvore de da
seguinte forma:
1 - visita-se a raiz;
2 - percorre-se a sub-árvores esquerda de T, em pre�xo e
3 - percorre-se a sub-árvores direita de T, em pre�xo.
O resultado da visita é representado abaixo:
http://cbs.wondershare.com/go.php?pid=5484&m=db
8/10
Acerto: 1,0  / 1,0
A complexidade de execução é uma medida da e�ciência de um algoritmo. Ela indica o número de operações que o algoritmo
precisa realizar para completar a sua tarefa, em função do tamanho da entrada. Nesse sentido, marque a opção correta sobre a
análise de complexidade das operações de rotação em árvores AVL:
As rotações simples e duplas possuem complexidade de execução O(n).
As rotações simples e duplas possuem complexidade de execução O(n log n).
As rotações simples e duplas possuem complexidade de execução O(logn).
As rotações simples e duplas possuem complexidade de execução O(n2).
 As rotações simples e duplas possuem complexidade de execução O(1).
Respondido em 15/09/2023 12:55:03
Explicação:
As operações de rotação simples e duplas são utilizadas tanto na inserção quanto na remoção de nós de árvore AVL e servem de auxílio
para tornar um nó que foi desbalanceado seja balanceado novamente. Essas operações incluem trocas de ponteiros entre os nós, ou
seja, O(1), o que não penaliza a complexidade de execução das operações na árvore.
 Questão9
a
http://cbs.wondershare.com/go.php?pid=5484&m=db
9/10
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 à esquerda do nó de chave 60.
A árvore resultante irá manter o balanceamento geral da árvore.
A árvore resultante irá desbalancear à direita do nó de chave 80.
A árvore resultante irá desbalancear à esquerda do nó de chave 10.
A árvore resultante irá desbalancear à direita do nó de chave 40.
Respondido em 15/09/2023 12:56:03
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ão10
a
http://cbs.wondershare.com/go.php?pid=5484&m=db
10/10
http://cbs.wondershare.com/go.php?pid=5484&m=db

Continue navegando