Buscar

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

Prévia do material em texto

Disciplina: ESTRUTURA DE DADOS EM C  AV
Aluno: MANUEL FERREIRA DA SILVA FILHO 202208107729
Turma: 9001
DGT0298_AV_202208107729 (AG)   05/03/2024 17:16:30 (F) 
Avaliação: 9,00 pts Nota SIA: 9,00 pts
 
ENSINEME: ÁRVORES  
 
 1. Ref.: 7808330 Pontos: 1,00  / 1,00
As rotações são operações fundamentais para ajuste da propriedade AVL. Analise as a�rmativas 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árvore com a mesma altura da subárvore original, isto é, antes da
inserção da nova chave.
Marque a alternativa correta.
As duas a�rmativas são falsas.
A primeira a�rmativa é verdadeira e a segunda a�rmativa é falsa.
As duas a�rmativas estão corretas e a segunda não justi�ca a primeira.
A primeira a�rmativa é falsa e a segunda a�rmativa é verdadeira.
 As duas a�rmativas estão corretas e a segunda justi�ca a primeira.
 2. Ref.: 7808329 Pontos: 1,00  / 1,00
Existem vários tipos diferentes de árvores de busca, como árvores binárias, AVL e árvores B. Nesse sentido, marque
a opção correta sobre os procedimentos de rotação em árvores AVL:
Uma rotação dupla à esquerda de um nó x  acontece quando um desbalanceamento de x  acontece à
esquerda.
Uma rotação dupla à direita de um nó x  acontece quando um desbalanceamento de x  acontece à direita.
 Uma rotação simples à esquerda de um nó x  acontece quando um desbalanceamento de x  acontece à
direita.
Uma rotação simples à direita de um nó x  acontece quando um desbalanceamento de x  acontece à direita.
Uma rotação simples à esquerda de um nó x  acontece quando um desbalanceamento de x  acontece à
esquerda.
 
ENSINEME: ESTRUTURAS DE DADOS HETEROGÊNEAS  
 
 3. Ref.: 7816657 Pontos: 1,00  / 1,00
Leia o programa abaixo, veri�que o que a função func3() faz e assinale qual das opções será impressa na saída após a
execução.
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7808330.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7808330.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7808329.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7808329.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7816657.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7816657.');
 
#include < stdio.h >
 
typedef struct pessoa
 {
 char nome[40];
 int idade;
 �oat salario;
};
 
 void func3(struct pessoa f1, struct pessoa f2, struct pessoa f3)
 {
   printf("%s %d %.2f\n",f1.nome, f2.idade, f3.salario);
 }
 
 main()
 {
   struct pessoa p1 = {"Maria Estrela",50,10000.00};
   struct pessoa p2 = {"Alcogelson Medeiros",51,12000.00};
   struct pessoa p3 = {"Paulo Lokidown",60,12500.00};
   func3(p1,p2,p3);    }
Assinale a opção correta.
 Maria Estrela 51  12500,00
Paulo Lokidown  51  12000,00
Maria Estrela 50  10000,00
Maria Estrela 60  12500,00
Alcogelson Medeiros 60  12500,00
 4. Ref.: 3990821 Pontos: 1,00  / 1,00
A linguagem C permite alocar (reservar) dinamicamente (em tempo de execução) blocos de memórias
utilizando ponteiros. A esse processo dá-se o nome de alocação dinâmica, que faz uso das
funções malloc, calloc, realloc e free, disponíveis na biblioteca stdlib.h. Para liberar um bloco de memória
previamente alocado, por meio de um único parâmetro de entrada, faz-se uso de qual função?
Clear
 Free
Calloc
Malloc
Realloc
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990821.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990821.');
 
ENSINEME: LISTAS, PILHAS E FILAS  
 
 5. Ref.: 3990862 Pontos: 1,00  / 1,00
Sejam as seguintes propriedades de estruturas de dados: 
I- a remoção de um elemento interno obriga ao deslocamento de todos os sucessores. 
II- Um nó pode ser inserido no meio da estrutura com complexidade O (1). 
III- a inserção e a remoção podem ser feitas em ambas as extremidades. 
As descrições acima se referem respectivamente à: 
Lista em alocação sequencial, Lista em alocação sequencial e deque. 
Lista em alocação encadeada, Lista circular e Lista em alocação sequencial. 
Lista em alocação encadeada, Lista em alocação sequencial e deque. 
Lista em alocação sequencial, Lista circular e Lista em alocação encadeada. 
 Lista em alocação sequencial, Lista em alocação encadeada e deque. 
 6. Ref.: 7807980 Pontos: 1,00  / 1,00
(FGV/2022) Júlio está desenvolvendo uma aplicação e precisa implementar um mecanismo de desfazer/refazer de
um editor de texto utilizando o algoritmo LIFO (Last In, First Out).
Para implementar o algoritmo LIFO, Júlio deve usar a estrutura de dados:
árvore.
 pilha.
tabela hash.
�la.
nó folha.
 
ENSINEME: MODULARIZAÇÃO  
 
 7. Ref.: 3993174 Pontos: 1,00  / 1,00
Considere o código a seguir escrito na linguagem C.
#include
Int main() {
      printf(¿Valor total: %.1f\n¿, 9,1415169265);
      return(0);
}
Assinale a alternativa que apresenta a saída correta.
Valor total: 9.142
Valor total: 9.141517e+00
 Valor total: 9.1
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990862.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990862.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807980.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7807980.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993174.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993174.');
Valor total: 9.14
Valor total: 9.141517
 8. Ref.: 3993215 Pontos: 1,00  / 1,00
Observe o trecho de código abaixo, escrito na linguagem C.
void quadrado(�oat *r, �oat *t);
int main() {
      �oat a, b;
      printf("Entre com um numero complexo (2 numeros inteiros):");
      scanf("%f %f", &a, &b);
      quadrado(&a, &b);
      printf("O quadrado do numero e %f + i %f\n", a, b);
}
Com base nesse código, é correto a�rmar que as variáveis a e b
São parâmetros formais na chamada da função quadrado() dentro da função main().
São utilizadas como passagem de parâmetros por resultado na função printf().
 Indicam, quando precedidas pelo caracter &, que os parâmetros podem ser modi�cados pelas funções scanf()
e quadrado().
Não podem ser modi�cadas pela função quadrado(), porque a passagem de parâmetros é por valor.
Podem ser modi�cadas pela função printf(), porque a passagem de parâmetros é por valor.
 
ENSINEME: ORDENAÇÃO  
 
 9. Ref.: 3990840 Pontos: 0,00  / 1,00
É correto a�rmar que: 
O buble sort é um algoritmo recursivo. 
 O buble sort, o insert sort e o selection sort tem a mesma complexidade computacional, porém, isto
não quer dizer que todos executem ao mesmo tempo para a mesma instância. 
 O Selection Sort tem complexidade computacional O(n log n) 
O buble sort é um algoritmo de ordenação instável. 
O Insert sort é um método de ordenação instável. 
 10. Ref.: 7838631 Pontos: 1,00  / 1,00
(UFFS/2014 - Adaptada) Em computação, é comum encontrar diversas abreviações e siglas que são usadas para se
referir a termos e conceitos especí�cos. Os termos Quick, Merge, Heap e Bubble representam, respectivamente:
Métricas da Engenharia de Software.
 Métodos de Ordenação.
Métodos de Compilação.
Métodos de Desenvolvimento.
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993215.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3993215.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990840.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990840.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7838631.');
javascript:alert('C%C3%B3digo da quest%C3%A3o: 7838631.');
Métodos de DBA.

Continue navegando