Logo Passei Direto
Buscar

Simulado 1

Ferramentas de estudo

Questões resolvidas

Ao usar a biblioteca numpy para criar arrays, existem diversas facilidades que um programador pode utilizar, como funções específicas 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.
Os índices passam a ser contados a partir de 1.
Diminuição no tempo de programação.
Não é possível remover elementos do array.
Todos os elementos devem ter o mesmo tamanho.

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?
Fila. Lista simplesmente encadeada. Lista em alocação contígua. Lista duplamente encadeada. Pilha.

Uma Pilha é uma estrutura de dados que permite o armazenamento de elementos (ou nós) sequencialmente.
Sobre as Pilhas é possível afirmar que:
Permitem inserção no seu final e remoção apenas no seu início.
Permitem inserção ou remoção apenas no seu início ou no seu final.
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 final.
Permitem inserção ou remoção apenas no seu início.

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 Em-ordem
Percurso raiz-folha
Percurso Anti simétrico
Percurso Pós-ordem
Percurso Pré-ordem

Um percurso é uma forma organizada de acesso à informação armazenada nos nós de uma estrutura de dados. Sobre Árvores Binárias de Busca, marque a opção correta:
Toda árvore binária de busca tem altura proporcional a n, onde n é o número de nós na árvore. Toda nova chave inserida em uma árvore binária de busca é inserida na raiz da árvore. Toda árvore binária de busca tem altura proporcional a log n, onde n é o número de nós na árvore. Não é possível remover um nó interno com dois filhos de uma árvore binária de busca. No pior cenário, uma busca por um elemento em uma árvore binária de busca pode exceder O(log n), chegando a n passos nessa busca.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Ao usar a biblioteca numpy para criar arrays, existem diversas facilidades que um programador pode utilizar, como funções específicas 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.
Os índices passam a ser contados a partir de 1.
Diminuição no tempo de programação.
Não é possível remover elementos do array.
Todos os elementos devem ter o mesmo tamanho.

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?
Fila. Lista simplesmente encadeada. Lista em alocação contígua. Lista duplamente encadeada. Pilha.

Uma Pilha é uma estrutura de dados que permite o armazenamento de elementos (ou nós) sequencialmente.
Sobre as Pilhas é possível afirmar que:
Permitem inserção no seu final e remoção apenas no seu início.
Permitem inserção ou remoção apenas no seu início ou no seu final.
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 final.
Permitem inserção ou remoção apenas no seu início.

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 Em-ordem
Percurso raiz-folha
Percurso Anti simétrico
Percurso Pós-ordem
Percurso Pré-ordem

Um percurso é uma forma organizada de acesso à informação armazenada nos nós de uma estrutura de dados. Sobre Árvores Binárias de Busca, marque a opção correta:
Toda árvore binária de busca tem altura proporcional a n, onde n é o número de nós na árvore. Toda nova chave inserida em uma árvore binária de busca é inserida na raiz da árvore. Toda árvore binária de busca tem altura proporcional a log n, onde n é o número de nós na árvore. Não é possível remover um nó interno com dois filhos de uma árvore binária de busca. No pior cenário, uma busca por um elemento em uma árvore binária de busca pode exceder O(log n), chegando a n passos nessa busca.

Prévia do material em texto

1a 
 Questão 
Acerto: 0,2 / 0,2 
 
Ao usar a biblioteca numpy para criar arrays, existem diversas facilidades que um 
programador pode utilizar, como funções específicas 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. 
 Os índices passam a ser contados a partir de 1. 
 Diminuição no tempo de programação. 
 Não é possível remover elementos do array. 
 Todos os elementos devem ter o mesmo tamanho. 
Respondido em 13/09/2023 19:59:27 
 
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. 
 
 
 
2a 
 Questão 
Acerto: 0,2 / 0,2 
 
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? 
 
 Fila. 
 Lista duplamente encadeada. 
 Lista simplesmente encadeada. 
 Pilha. 
 Lista em alocação contígua. 
Respondido em 13/09/2023 19:59:59 
 
Explicação: 
A pilha permite o tratamento de nós usando a política requerida, FILO ¿ ¿first 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 fim, 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 fila 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. 
 
 
 
3a 
 Questão 
Acerto: 0,0 / 0,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 13/09/2023 20:01:43 
 
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. 
O resultado da visita é representado abaixo: 
 
 
 
 
4a 
 Questão 
Acerto: 0,2 / 0,2 
 
Considere a seguinte estrutura de árvore. Marque a alternativa correta: 
 
 
 A árvore acima é conhecida como árvore zig zag balanceada. 
 Remover o nó 36 irá deixar a árvore com as propriedades de árvore binária 
de busca. 
 É necessário executar O(n
2
) passos para deletar um elemento da árvore 
acima. 
 Pode-se afirmar que o número de passos para buscar um elemento na 
árvore acima é, no máximo, O(log n). 
 A árvore da figura se trata de árvore binária de busca. 
Respondido em 13/09/2023 20:03:09 
 
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). 
 
 
 
5a 
 Questão 
Acerto: 0,2 / 0,2 
 
Matrizes podem ser implementadas em Python utilizando a biblioteca numpy, 
trazendo diversas funções já implementadas. Dentre os pares de função com sua 
funcionalidade a seguir, qual é o correto? 
 
 matriz.max() retorna o desvio padrão da matriz. 
 matriz.mean() retorna o valor mínimo da matriz. 
 matriz.min() retorna o valor médio da matriz. 
 matriz.sum() retorna a soma dos elementos da matriz. 
 matriz.std() retorna a variância da matriz. 
Respondido em 13/09/2023 20:03:58 
 
Explicação: 
Dentre os pares apresentados, o único correto é o da função sum() que é a soma dos 
elementos. std() e mean() são funções estatísticas que retornam o desvio padrão e a 
média respectivamente. max() retorna o elemento de maior valor e min(), por sua vez, 
retorna o elemento de menor valor. 
 
 
 
6a 
 Questão 
Acerto: 0,2 / 0,2 
 
Uma Pilha é uma estrutura de dados que permite o armazenamento de elementos 
(ou nós) sequencialmente. Sobre as Pilhas é possível afirmar que: 
 
 Permitem inserção ou remoção apenas no seu início. 
 Permitem inserção no seu início e remoção apenas no seu final. 
 Permitem inserção ou remoção em qualquer de suas posições. 
 Permitem inserção no seu final e remoção apenas no seu início. 
 Permitem inserção ou remoção apenas no seu início ou no seu final. 
Respondido em 13/09/2023 20:08:28 
 
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, filas e deques. 
 
 
 
7a 
 Questão 
Acerto: 0,2 / 0,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 Pós-ordem 
 Percurso Pré-ordem 
 Percurso raiz-folha 
 Percurso Anti simétrico 
 Percurso Em-ordem 
Respondido em 13/09/2023 20:09:05 
 
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)). 
 
 
 
8a 
 Questão 
Acerto: 0,2 / 0,2 
 
Um percurso é uma forma organizada de acesso à informação armazenada nos 
nós de uma estrutura de dados. Sobre Árvores Binárias de Busca, marque a opção 
correta: 
 
 Toda árvore binária de busca tem altura proporcional a log n, onde n é o 
número de nós na árvore. 
 No pior cenário, uma busca por um elemento em uma árvore binária de 
busca pode exceder O(log n) , chegando a n passos nessa busca. 
 Toda árvore binária de busca tem altura proporcional a n, onde n é o 
número de nós na árvore. 
 Não é possível remover um nó interno com dois filhos de uma árvore binária 
de busca. 
 Toda nova chave inserida em uma árvore binária de busca é inserida na raiz 
da árvore. 
Respondido em 13/09/2023 20:10:01 
 
Explicação: 
No pior cenário, os nós de uma árvore podem estar inseridos de tal forma a causar 
desbalanceamento progressivo, levando a n passos em caso de busca por um elemento. 
 
 
 
9a 
 Questão 
Acerto: 0,2 / 0,2 
 
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(n
2
). Baseado nessas duas 
afirmações, podemos afirmar que a sua complexidade de caso médio é: 
 
 O(n
2
) 
 O(n) 
 O(1) 
 O(nlog n) 
 O(log n) 
Respondido em 13/09/2023 20:11:13 
 
Explicação: 
Pelas características da notação O, a única afirmação que podemos extrair é que o caso 
médio é melhor ou igual ao pior caso. Portanto, é possível afirmar que o caso médio é 
O(n
2
), ou qualquer função assintoticamente superior a n
2
, como n
2
log n, n
3
, 2
n
 etc.. Como 
dentre essas a única opção disponível é O(n
2
) essa é a resposta correta. 
Podemos descartar O(1) e O(log n) por serem melhores que o melhorcaso, o que 
contradiz a afirmativa 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(n
2
) no pior caso, mas não é 
possível afirmar nenhuma das duas com as informações dadas. 
De fato, o caso médio do Bubblesort é O(n
2
). 
 
 
 
10a 
 Questão 
Acerto: 0,2 / 0,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? 
 
 Não ordenada: 40, 42; ordenada: 32, 42. 
 Não ordenada: 36, 37; ordenada: 32, 33. 
 Não ordenada: 32, 34; ordenada: 32, 34. 
 Não ordenada: 40, 42; ordenada: 40, 42. 
 Não ordenada: 36, 37; ordenada: 32, 37. 
Respondido em 13/09/2023 20:12:02 
 
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.

Mais conteúdos dessa disciplina