Buscar

Estrutura_de_dados_2_pontos_

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 7 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 7 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

Disc.: ESTRUTURA DE DADOSESTRUTURA DE DADOS     
Acertos: 2,02,0 de 2,0 de 2,0 26/10/202326/10/2023
Acerto: 0,20,2  / 0,20,2
A complexidade computacional é uma abstração para facilitar a comparação de algoritmos de forma
independente do ambiente de execução e de variações na sua entrada. As complexidades podem ser
representadas pelo número de operações requeridas. Dentre as seguintes complexidades de pior
caso, representadas pelo seu número de operações, qual é a melhor? (menos operações)
2n
(nlog n)/2
2n2
nlog n + 500
 100n + 5log n
Respondido em 26/10/2023 20:04:50
Explicação:
O conceito de complexidade é assintótico, ou seja, o que importa é quando o tamanho da entrada n cresce
arbitrariamente. Por isso, os termos dominantes de cada resposta são os únicos relevantes. 500n é
assintoticamente menor que n2, por exemplo, pois para n acima de 500 o quadrado de n será maior que
500n. Dessa forma podemos ordenar em forma crescente de complexidade os termos dominantes das
respostas: n, nlog n, n2, 2n. O menor deles é n, logo a resposta correta é 100n+5log n.
Acerto: 0,20,2  / 0,20,2
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).
 Questão11a
 Questão22a
26/10/2023 20:20
Página 1 de 7
O(n), O(1) e O(n).
O(1), O(n) e O(n).
O(n), O(n) e O(1).
 O(n), O(n) e O(n).
Respondido em 26/10/2023 19:53:42
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 final 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: 0,20,2  / 0,20,2
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 Pré-ordem
Percurso Anti simétrico
Percurso raiz-folha
Percurso Pós-ordem
Percurso Em-ordem
Respondido em 26/10/2023 20:16:06
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: 0,20,2  / 0,20,2
A complexidade de execução é uma medida da eficiência de um algoritmo. Ela indica o número de
 Questão33a
 Questão44a
26/10/2023 20:20
Página 2 de 7
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 log n).
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(1).
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).
Respondido em 26/10/2023 19:52:44
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.
Acerto: 0,20,2  / 0,20,2
Um vetor está armazenado em memória no endereço-base 24. Considerando que uma palavra em
memória ocupa 1 byte, e esse vetor é constituído por elementos que ocupam 4 palavras, qual é o
endereço de memória ocupado pelos elementos de índices 2 e 50 respectivamente? .
 32 e 224
32 e 220
28 e 220
26 e 74
28 e 224
Respondido em 26/10/2023 19:59:49
Explicação:
Para calcular o endereço absoluto em memória você deve utilizar a fórmula A=B+t*i . No caso B é o
endereço base (24), t é o tamanho de cada elemento (4) e i é o índice do elemento (2 e 50). Aplicando a
fórmula temos 32=24+2*4  e 224=24+50*4
Acerto: 0,20,2  / 0,20,2
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?
 Questão55a
 Questão66a
26/10/2023 20:20
Página 3 de 7
Não ordenada: 40, 42;  ordenada: 40, 42.
Não ordenada: 32, 34; ordenada: 32, 34.
Não ordenada: 36, 37; ordenada: 32, 37.
 Não ordenada: 40, 42; ordenada: 32, 42.
Não ordenada: 36, 37; ordenada: 32, 33.
Respondido em 26/10/2023 20:10:15
Explicação:
A inserção na lista não ordenada ocorre ao final 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 uma posição. O segundo elemento será inserido ao final 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: 0,20,2  / 0,20,2
Seja a seguinte árvore de expressões aritméticas abaixo.
O resultado da visita em prefixo dessa árvore é:
A + ( B * C )
 + A * B C
A + B * C
A + * B C
A * B + C
Respondido em 26/10/2023 20:15:39
Explicação:
O percurso em prefixo é definido 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 prefixo e
3 - percorre-se a sub-árvores direita de T, em prefixo.
 Questão77a
26/10/2023 20:20
Página 4 de 7
O resultado da visita é representado abaixo:
Acerto: 0,20,2  / 0,20,2
As afirmativas abaixo são feitas com base na estrutura de dados "Árvore Binária de Busca". Em relação
ao algoritmo de busca em uma árvore binária de busca, analise as afirmativas abaixo:
I -A complexidade da busca é definida pela altura da árvore binária de busca. No pior caso O(n).
II - A busca é definida de forma recursiva, parte da raiz, comparando a chave buscada com a
armazenada na raiz, caso seja igual temos o sucesso da busca, caso contrário, se a chave buscada for
menor, devemos proceder recursivamente no ramo esquerdo, se a chave buscada for maior, proceder
recursivamente no ramo direito.
III - Sempre é necessário percorrer toda a árvore no algoritmo de busca. Em todos os casos, mesmo em
árvores completas.
IV - A condição de parada da busca é encontrar a chave buscada ou ter que descer por um ramo vazio.
V - É possível escrever o algoritmo da busca de forma não recursiva.
I, III, IV e V são corretas.
 I, II, IV e V são corretas.
I, II, III e IV são corretas.
I, II, III, IV e V são corretas.
II, III, IV e V são corretas.
Respondido em 26/10/2023 19:58:11
Explicação:
A afirmativa III é incorreta, não é necessário percorrer todos os nós da árvore se ela estiver perfeitamente
balanceada.
 Questão88a
26/10/2023 20:20
Página 5 de 7
Acerto: 0,20,2  / 0,20,2
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:
impose, remove/destroy.
append, pop/delete.
 append, remove/pop.
insert, remove/destroy.
insert, delete/pop.
Respondido em 26/10/2023 20:01:20
Explicação:
EmPython a função append insere um elemento ao final 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: 0,20,2  / 0,20,2
Uma Lista pode ser implementada de forma contígua ou encadeada. No caso de uma lista
implementada de forma contígua, as complexidades de pior caso de busca, inserção e remoção são
respectivamente:
O(1), O(n) e O(n).
 O(n), O(n) e O(n).
O(n), O(n) e O(1).
O(log n), O(n) e O(n).
O(n), O(1) e O(n).
Respondido em 26/10/2023 20:00:30
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 início da lista, obrigando todos
os demais a serem deslocados uma posição, levando O(n) operações.
A remoção também tem nesse seu pior caso, remover o primeiro elemento, o que obrigará todos os demais
a serem ¿puxados¿ uma posição levando tempo O(n).
Esse custo pode ser diminuído caso você implemente uma variável que indique o início da lista, mesmo
assim, ao remover um elemento exatamente do meio da lista, você precisará mover n/2 elementos, o que
ainda é um custo linear.
 Questão99a
 Questão1010a
26/10/2023 20:20
Página 6 de 7
26/10/2023 20:20
Página 7 de 7

Outros materiais