Buscar

SIMULADO AV2 ESTRUTURA DE DADOS EM C

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

1a 
 Questão 
Acerto: 0,0 / 1,0 
 
Considere a definição da seguinte struct escrita em linguagem de programação C. 
struct endereço { 
char logradouro [50]; 
int numero; 
char cidade[30]; 
char estado[2]; 
} end1; 
A alternativa que manipula corretamente a struct acima definida é: 
 
 Para armazenar um valor inteiro na variável numero: 
scanf("%d",&end1.numero); 
 Para mostrar o conteúdo da variável logradouro: printf("%s", logradouro.end1); 
 
Para copiar o conteúdo das variáveis de end1 para end2: end1.strcpy = end2; 
 
Para armazenar a string "RJ" na variável estado: endereco.estado= "RJ" 
 
Para criar um array de structs endereco: struct endereco[10]; 
Respondido em 09/03/2023 22:28:13 
 
Explicação: 
Correta: Para armazenar um valor inteiro na variável numero: scanf("%d",&end1.numero). 
 
 
2a 
 Questão 
Acerto: 1,0 / 1,0 
 
Sobre estruturas de dados, assinale a alternativa CORRETA. 
 
 Pilhas são tipos de dados abstratos caracterizadas pela política 
"primeiro a entrar, último a sair". 
 
Árvores de busca de binárias são estruturas nas quais nós filhos 
possuem valores numericamente inferiores aos dos nós pais. 
 
Listas duplamente ligadas são estruturas em que cada nó possui 
uma referência tanto ao nó que o antecede quanto ao nó que o 
sucede. Além disso, o último nó da lista também possui uma 
referência para o primeiro nó da lista. 
 
Grafos são estruturas de dados em que cada nó possui um valor 
e um conjunto de relações unidirecionais com os demais nós. 
 
Filas são comumente implementadas sobre arrays ou grafos. 
Respondido em 09/03/2023 22:29:20 
 
Explicação: 
A resposta correta é: Pilhas são tipos de dados abstratos 
caracterizadas pela política "primeiro a entrar, último a sair". 
 
 
3a 
 Questão 
Acerto: 1,0 / 1,0 
 
Observe o trecho de código abaixo, escrito na linguagem C. 
void imprimecabecalho() { 
 ... 
} 
void calcula() { 
 int soma; 
 ... 
 imprimecabecalho(); 
} 
Com base nesse código, é correto afirmar que: 
 
 
O escopo da variável soma é contido pela função imprimecabecalho(). 
 
O escopo e o tempo de vida da variável soma são iguais e contidos pela função 
imprimecabecalho(). 
 
O escopo da variável soma se estende da função calcula() para a função 
imprimecabecalho(). 
 O tempo de vida da variável soma estende-se durante o tempo em que a função 
imprimecabecalho() é executada. 
 
O escopo da variável soma é dinâmico e se estende durante toda execução do 
programa. 
Respondido em 09/03/2023 22:30:51 
 
Explicação: 
Resposta correta: o tempo de vida da variável soma estende-se durante o tempo em que a 
função imprimecabecalho() é executada. 
 
 
4a 
 Questão 
Acerto: 1,0 / 1,0 
 
Em relação ao uso e conceitos de procedimentos e funções em lógica de programação, 
analise as seguintes afirmativas: 
I. Procedimentos e funções são blocos de instruções para realizar tarefas específicas e 
são considerados sub-rotinas. 
II. Em um procedimento, a passagem de parâmetros é obrigatória. 
III. Em uma função, a passagem de parâmetros e o retorno de um valor são 
obrigatórios. 
Está CORRETO o que se afirma em: 
 
 
II e III, apenas. 
 
I e II, apenas. 
 
II, apenas. 
 
I e III, apenas. 
 I, apenas. 
Respondido em 09/03/2023 22:31:35 
 
Explicação: 
Resposta correta: I, apenas. 
 
 
5a 
 Questão 
Acerto: 1,0 / 1,0 
 
(IBFC/2022 - Adaptada) Assinale, das alternativas abaixo, a única que identifica 
respectivamente uma Estrutura de Dados do tipo FIFO (First In, First Out) e uma outra 
com a Estrutura de dados do tipo LIFO (Last In, First Out): 
 
 
matriz - vetor 
 
pilha - fila 
 
lista - vetor 
 
vetor - lista 
 fila - pilha 
Respondido em 09/03/2023 22:43:44 
 
Explicação: 
Filas e Pilhas são estruturas de dados lineares que permitem o armazenamento e acesso a 
elementos. Ambas são utilizadas para armazenar coleções de elementos, mas possuem 
diferenças importantes no que diz respeito ao princípio de acesso aos elementos. 
 
Uma fila é uma estrutura de dados baseada no princípio First In, First Out (FIFO), ou seja, o 
primeiro elemento a ser adicionado é o primeiro a ser removido. É como se fosse uma fila de 
pessoas, onde a primeira pessoa a chegar é a primeira a ser atendida. As operações de 
inserção e remoção são chamadas de enfileirar e desenfileirar, respectivamente. 
 
Já uma pilha é uma estrutura de dados baseada no princípio Last In, First Out (LIFO), ou seja, 
o último elemento a ser adicionado é o primeiro a ser removido. É como se fosse uma pilha de 
pratos, onde o último prato colocado é o primeiro a ser retirado. O LIFO é a base para as 
operações de empilhamento e desempilhamento, que permitem adicionar e remover elementos 
na pilha, respectivamente. 
 
 
6a 
 Questão 
Acerto: 1,0 / 1,0 
 
(IBADE/2022) Uma estrutura de dados onde existe uma coleção ordenada de entidades 
sendo a metodologia de busca com base no deslocamento relativo ao primeiro (cabeça) 
da coleção, chama-se: 
 
 lista. 
 
árvore. 
 
árvore binária. 
 
pilha. 
 
fila. 
Respondido em 09/03/2023 22:44:48 
 
Explicação: 
O nó cabeça é um conceito comum em estruturas de dados, especialmente em listas 
encadeadas. É um nó fictício que não armazena dados reais, mas serve como uma referência 
para o início da lista. Ele facilita o acesso aos elementos da lista, bem como a manipulação da 
lista, como inserção e remoção de elementos. 
 
 
7a 
 Questão 
Acerto: 1,0 / 1,0 
 
Comparando o Merge Sort com o Método da bolha podemos afirmar 
que: 
 
 O merge sort tem complexidade computacional inferior 
ao buble sort, porém o merge sort sempre executa em um 
tempo proporcional a n log n, enquanto o buble sort, pode 
executar em tempo linear em algumas instâncias (melhores 
casos). 
 
O merge sort, por ser instável, sempre executará em tempo 
superior ao buble sort. 
 
O merge sort sempre executará mais rápido que 
o buble sort uma vez que sua complexidade é O(n log n) e a 
do buble sort O(n22). 
 
Ambos têm complexidade comparável, assim, existem não é 
possível afirmar qual irá executar em melhor tempo. 
 
O buble sort sempre irá executar mais rápido que o 
merge sort por ter complexidade computacional inferior ao 
merge sort. 
Respondido em 09/03/2023 22:30:00 
 
Explicação: 
A resposta correta é: O merge sort tem complexidade 
computacional inferior ao buble sort, porém o merge sort sempre 
executa em um tempo proporcional a n log n, enquanto 
o buble sort, pode executar em tempo linear em algumas 
instâncias (melhores casos). 
 
 
8a 
 Questão 
Acerto: 1,0 / 1,0 
 
Sobre o método da bolha é correto afirmar que: 
 
 O tempo de execução pode ser linear em relação ao tamanho da 
entrada se a instância apresentada já estiver ordenada. 
 
O tempo de execução pode ser linear em relação ao tamanho da 
entrada se a instância apresentada estiver ordenada em ordem 
reversa a desejada. 
 
A complexidade computacional deste algoritmo é O (n log n). 
 
O tempo de execução é definido pela complexidade 
computacional sempre, independentemente da instância 
apresentada. 
 
O algoritmo executa sempre no mesmo tempo para instâncias de 
mesmo tamanho n. 
Respondido em 09/03/2023 22:36:25 
 
Explicação: 
A resposta correta é: O tempo de execução pode ser linear em 
relação ao tamanho da entrada se a instância apresentada já estiver 
ordenada. 
 
 
9a 
 Questão 
Acerto: 1,0 / 1,0 
 
As rotações são operações fundamentais para ajuste da propriedade AVL. Analise as 
afirmativas abaixo. 
I - A inserção de uma nova chave em uma árvore AVL pode desregular diversos nós no 
caminho da raiz até a folha onde a nova chave foi inserida. Só é necessário aplicar uma 
rotação no nó mais profundo desregulado. 
 
Porque 
 
II - A aplicação da rotação resulta em uma subárvorecom a mesma altura da subárvore 
original, isto é, antes da inserção da nova chave. 
Marque a alternativa correta. 
 
 
As duas afirmativas estão corretas e a segunda não justifica a primeira. 
 As duas afirmativas estão corretas e a segunda justifica a primeira. 
 
As duas afirmativas são falsas. 
 
A primeira afirmativa é verdadeira e a segunda afirmativa é falsa. 
 
A primeira afirmativa é falsa e a segunda afirmativa é verdadeira. 
Respondido em 09/03/2023 22:46:41 
 
Explicação: 
As operações de rotação preservam a altura da árvore original, isto é, imagine que v é a raiz da 
subárvore Tv que ficará desregulada após a inserção. Antes da inserção Tv tem altura h, depois 
da inserção Tv terá altura h+1, porém v está desregulado. Ao aplicar a rotação Tv volta a ter 
altura h, por isso, eventuais nós ancestrais de v que estivessem desregulados voltam a estar 
regulados. 
 
 
10a 
 Questão 
Acerto: 0,0 / 1,0 
 
As árvores binárias de busca são especializações das árvores binárias que permitem 
uma melhor organização dos algoritmos de busca. Sobre a inserção de uma nova chave 
em uma árvore binária de busca é correto afirmar que: 
 
 A complexidade da inserção é sempre O(n), independentemente da altura da 
árvore. 
 Todas as chaves são inseridas em folhas, a posição da folha é determinada pela 
busca. 
 
Para determinar a posição da nova chave é necessário calcular o percurso em 
ordem simétrica da árvore obtida. Com este percurso, verifica-se se a sequência 
está ordenada em ordem crescente. Caso esteja, a posição da nova chave está 
correta. 
 
O algoritmo de inserção em árvores binárias de busca é estático, isto é, é 
necessário recalcular toda árvore para inserir uma nova chave. 
 
Toda nova chave é inserida obrigatoriamente na raiz. 
Respondido em 09/03/2023 22:46:48 
 
Explicação: 
Todas as chaves serão inseridas em folhas, considerando que na árvore binária de busca o 
objetivo é buscar pela posição correta de inserção dos dados e inserir (a esquerda ou a direita) 
o nó considerado, além de que em árvores binárias de busca não existem regras que 
mantenham o balanceamento da árvore.

Continue navegando