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): ULYSSES FERREIRA SERRA 202008598231
Acertos: 8,0 de 10,0 30/09/2021
 
 
Acerto: 1,0 / 1,0
A que estrutura pertence a definição: " Uma estrutura não linear que é um conjunto de nós e suas conexões
entre eles e não há limitação de vértices. Muito utilizada para representação de percursos em mapas."
pilhas encadeadas
filas encadeadas
 grafos
listas encadeadas
structs
Respondido em 30/09/2021 12:29:24
 
Acerto: 0,0 / 1,0
Diga, para o trecho do programa abaixo, qual a opção que representa a saída em tela. Considere que o programa será compilado sem
erros, e irá executar também sem problemas.
void troca (int x, int *y){
 int tmp;
 tmp = *y;
 *y = x;
 x = tmp;
}
int main() {
 int a = 13, b = 10;
 troca( a, &b );
 cout<<"Valores: "<< a<<"\t"<< b<< endl;
 system("pause");
}
Valores: 31 01
 Valores: 13 10
Valores: 10 13
Valores: 10 10
 Valores: 13 13
Respondido em 30/09/2021 12:31:20
 Questão1
a
 Questão2
a
https://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
 
 
Explicação:
 
A execução começa pela main. São passados o valor de a, que é 13 e o endereço de b, que vale 10. Em
seguida, é chamada a função troca e são passados o valor de a e o endereço de b. 
Executando a função troca, x recebe 13 e *y recebe 10. Mas ocorre a troca, usando tmp como auxiliar. Então x
recebe 10 e *y recebe 13. Ao terminar a execução da função, voltamos para a main e temos a sem mudanças e
b com a mudança ocorrida na função. Note que x é um parâmetro passado por valor e y é um parÂmetro
passado por referência.
Portanto, a ficou 13 e b ficou 13.
Logo, será impresso : Valores: 13 13
 
 
Acerto: 1,0 / 1,0
Os métodos de ordenação são muito utilizados em estruturas de dados para facilitar a busca e a recuperação
posterior de itens de conjuntos ordenados. Existem vários métodos de ordenação, por este motivo, marque
corretamente a alternativa que apresenta o código do método de seleção.
 void ordena(int v[], int n){ 
int i, j, menor, aux; 
for (j = 0; j < n-1; j++) { 
 for (i = j+1; i < n; i++) { 
 if (v[i] < v[j]) { 
 aux = v[j]; 
 v[j] = v[i]; 
 v[i] = aux; 
 } 
 } 
} 
}
int ordena(float v[], float valor, int n) {
 int ini = 0, fim = n-1, meio;
 while (ini >= fim){
 meio = ini/2;
 if (v[meio] == valor)
 return meio; 
 if (valor < v[meio])
 fim = meio -1;
 else
 ini = meio+1;
}
int ordena(float v[], float valor, int n) { 
 int ini = 0, fim = n -1, meio; 
 while (ini <= fim){ 
 meio = (ini + fim)/2; 
 if (v[meio] == valor) 
 return meio; 
 if (valor < v[meio]) 
 fim = meio -1; 
 else 
 ini = meio+1; 
 } 
 return -1; 
}
void ordena (int v[], int n){ 
 int i, j, aux; 
 for (j = 1; j < n; j++) 
 for (i=j; i > 0 && v[i-1]> v[i]; i--){ 
 aux = v[i-1]; 
 v[i-1] = v[i]; 
 v[i] = aux; 
 } 
}
int ordena(float v[], float valor, int n){
 for (int i = 0; i < n; i++)
 if (v[i] == valor)
 return i;
 Questão3
a
 return -1;
}
Respondido em 30/09/2021 12:33:50
 
 
Explicação:
Na ordenação por seleção, a idéia é sempre procurar o menor elemento do vetor e inseri-lo no início do vetor.
Procuramos o menor valor do vetor e colocamos ele em vetor.
Procuramos o menor valor do vetor excluindo o já colocado e colocamos ele em vetor. E assim vamos indo até
termos todo o vetor ordenado.
Partindo sempre a partir do último elemento reordenado (a partir do i), o programa procura o menor elemento
no vetor e o substitue pelo elemento i atual.
É o que está ocorrendo na primeira opção!
 
 
 
Gabarito
Comentado
 
Acerto: 1,0 / 1,0
Caso seja empregada uma busca binária em uma lista sequencial ordenada com 2048 valores, qual seria o
número máximo de comparações para encontrar um valor que esteja na lista?
9
12
8
10
 11
Respondido em 30/09/2021 12:35:07
 
 
Explicação:
Como a busca binária sai continuamente dividindo o conjunto de dados ao meio (em duas partes), então vamos
fatorar e organizar o resultado como potência de base 2.
 Fatorando 2048 temos 2 11
 Portanto, a resposta é 11.
 
 
Acerto: 0,0 / 1,0
Estude atentamente o código a segir: 
int deciframe(int v[ ], int tam, int e){ 
int i = 0, f = tam -1, m; 
while ( i <= f ){ 
m = ( i + f ) / 2; 
if ( v[m] == e ) { return m; } 
if ( e < v[m] ) { f = m - 1; } 
else { i = m + 1; } 
} 
return -1; 
} 
Sabendo que a chamada da mesma foi feita com os parâmetros recebendo os seguintes valores, o que ela
retornaria? 
v[10] = {0, 2, 4, 6, 8, 10, 20, 100} 
tam = 8 
e = -6
 Questão4
a
 Questão5
a
 -1
0
4
6
 3
Respondido em 30/09/2021 12:59:02
 
 
Explicação:
Analisando
int deciframe(int v[ ], int tam, int e) { 
int i = 0, f = tam -1, m; 
while ( i <= f ){ 
 m = ( i + f ) / 2; 
 if ( v[m] == e ) { return m; } 
 if ( e < v[m] )
 { f = m - 1; } 
 else
 { i = m + 1; } 
} 
return -1; 
} 
Sabendo que a chamada da mesma foi feita com os parâmetros recebendo os seguintes valores, o que ela
retornaria? 
v[10] = {0, 2, 4, 6, 8, 10, 20, 100} 
tam = 8 
e = -6
Está procurando pelo valor e = -6. Como se sabe pelo estudo da busca binária e olhando o código dado, temos
que -6 não existe na lista então a função irá retornar -1 (vide última linha da função). SE a busca tivesse
sucesso, o teste do 1o. if no while seria verdadeiro e então o índice m de v seria retornado. Mas não é o caso,
pois -6 não foi encontrado.
 
 
Acerto: 1,0 / 1,0
Existem vários tipos de estruturas de dados do tipo dinâmicas, entretanto, uma estrutura considerada simples
são as listas. Pode-se implementar vários tipos de listas, entretanto, a estrutura que apresenta o conceito de
LIFO é:
Fila
Matriz
 Pilha
Struct
Ponteiro
Respondido em 30/09/2021 12:36:42
 
 
Gabarito
Comentado
 
Acerto: 1,0 / 1,0
O que acontece quando se deseja inserir um elemento em uma FILA que já está cheia?
Enqueue.
Dequeue.
Underflow.
 Overflow.
A inserção é feita sem problema.
 Questão6
a
 Questão7
a
Respondido em 30/09/2021 12:46:28
 
 
Gabarito
Comentado
 
Acerto: 1,0 / 1,0
O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário,
através da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos
alocados em posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso
de representar os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.
Acesso, representação, compartilhamento de memória.
Proteção de memória, transferência de dados, estruturas simples.
Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.
 Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.
Respondido em 30/09/2021 12:38:57
 
 
Explicação:
FALSO . Previsão de
espaço físico, estruturas
complexas, procedimentos
menos intuitivos.
 
FALSO Acesso, representação,compartilhamento de memória.
 
FALSO
Proteção de memória,
transferência de dados, estruturas
simples.
 
FALSO
Transferência de dados,
gerenciamento de memória e
procedimentos menos intuitivos.
 
VERDADEIRO
Compartilhamento de memória,
maleabilidade e facilidade para
inserção e remoção de
componentes.
 
 
 
Gabarito
Comentado
 
Acerto: 1,0 / 1,0
 Questão8
a
 Questão
9a
Para converter de decimal para binário usamos a estrutura de dados pilha. Assinale a opção que,
corretamente, indica as ações corretas para empilhar o resto da divisão gerado no processo de conversão,
considerando uma lista simplesmente encadeada. Considere o tipo definido abaixo : 
 
struct no{ 
int dado; 
struct no *link; 
}; 
Não é necessário alocar memória com new. Basta criar uma struct do tipo no, armazenar o resto da
divisão número por 2 no campo dado e aterrar o campo link.
É preciso armazenar o resto da divisão do número por 2 no campo dado do primeiro nó da lista e
retornar o ponteiro para este nó.
Basta alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do
novo nó e aterrar o link do novo nó.
Basta alocar memória com new e armazenar o resto da divisão do número por 2 no campo dado do
novo nó .
 É preciso alocar memória com new, armazenar o resto da divisão do número por 2 no campo dado do
novo nó, apontar o link do novo nó para o início da lista e enfim, retornar o ponteiro para o novo nó.
Respondido em 30/09/2021 12:44:54
 
 
Gabarito
Comentado
 
Acerto: 1,0 / 1,0
Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para:
Para trás, apenas.
Para cima e para baixo ou para frente e para trás.
Para cima e para baixo, apenas.
Para frente, apenas.
 Para frente e para trás, apenas.
Respondido em 30/09/2021 12:42:22
 
 
Explicação:
A resposta é simples assim.
 
 
 
 
 
 
 
 
 
 
 
 Questão10
a
javascript:abre_colabore('38403','267919943','4846173739');

Continue navegando