Buscar

Estrutura de Dados Apol -04

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

Questão 1/5 - Estrutura de Dados
Na AULA 5 estudamos conceitos de grafos. Abaixo temos uma imagem de um grafo.
Acerca do grafo acima, assinale a alternativa CORRETA.
Nota: 20.0
	
	A
	O grafo contém arestas múltiplas, pois temos mais de um caminho para sair de V1 e chegar em V9, 
por exemplo.
Arestas múltiplas são para arestas com os mesmos vértices de origem e destino.
	
	B
	O grau do vértice V9 é 3.
O grau é 4. Pois é o número de arestas incidentes.
	
	C
	Todos os vértices deste grafo têm o mesmo grau.
Temos graus diferentes: 2, 3 e 4.
	
	D
	Este grafo é do tipo completo.
No grafo completo, todos os vértices precisam estar conectados entre si por somente uma aresta. 
Neste grafo faltam diversas conexões.
	
	E
	O grau do vértice V4 é 3.
Você acertou!
Correto. Pois é o número de arestas incidentes.
Questão 2/5 - Estrutura de Dados
Na AULA 4 estudamos a inserção em uma árvore binária. Abaixo temos um código em linguagem C com uma função de inserção na árvore binária, considerando ela como uma Binary Search Tree (BST).
1. void Inserir(ElementoDaArvoreBinaria ** ElementoVarredura, int num) {
2. 
3. if (*ElementoVarredura == NULL)
4. { 
5.      ElementoDaArvoreBinaria *NovoElemento = NULL;
6.      NovoElemento = (ElementoDaArvoreBinaria *)malloc(sizeof(ElementoDaArvoreBinaria));
7.      NovoElemento->esquerda = NULL;
8.      NovoElemento->direita = NULL;
9. 
10.     NovoElemento->dado = num;
11.     *ElementoVarredura = NovoElemento;
12.     return;
13. }
14. 
15. if (num < (*ElementoVarredura)->dado)
16. {
17.     Inserir(&(*ElementoVarredura)->esquerda, num);
18. }
19. else
20. {
21.     if (num >(*ElementoVarredura)->dado)
22.     {
23.          Inserir(&(*ElementoVarredura)->direita, num);
24.     }
25. }
26. }
Acerca de árvores binárias e do código acima, assinale a alternativa CORRETA.
Nota: 20.0
	
	A
	Nas linhas 15 a 25 a função testa para qual ramo da árvore irá seguir, direito ou esquerdo, 
chamando novamente a função de inserção de forma recursiva.
Você acertou!
Correto.
	
	B
	Na linha 3 temos um teste condicional simples que tem como objetivo verificar se a árvore
 binária está completamente vazia, ou não.
Verifica se AQUELE ELEMENTO está vazio, não a arvore toda;
	
	C
	Todo o código colocado entre as linhas 15 e 25 poderiam estar dentro de um SENÃO 
que faz parte da condicional da linha 4.
Não seria possível isso, pois as linhas 15 a 25 precisam ser executadas independentemente da
 condição da linha 3;
	
	D
	Na linha 2 temos a declaração da função, onde o primeiro parâmetro é uma variável que 
foi declarada com dois asteriscos (**). Deveria ser somente um, pois dois asteriscos não são 
permitidos na linguagem C.
É permitido e está correto. Porque temos um ponteiro para outro ponteiro, caracterizando dois asteriscos;
	
	E
	O uso do um asterisco antes do nome da variável, como na linha 3 por exemplo, significa 
que queremos manipular o endereço daquela variável.
O asterisco indica o conteúdo indireto para qual o ponteiro aponta.
Questão 3/5 - Estrutura de Dados
Na AULA 5 estudamos conceitos de grafos. Abaixo temos uma imagem de um grafo.
Acerca do grafo acima, assinale a alternativa CORRETA.
Nota: 0.0
	
	A
	O grau do vértice V1 é 3.
O grau é 4. Pois é o número de arestas incidentes.
	
	B
	Todos os vértices deste grafo têm o mesmo grau, caracterizando um grafo trivial.
Tem o mesmo grau, mas o grafo é chamado de ponderado.
	
	C
	Este grafo é do tipo completo.
Sim. Todos os vértices estão conectados por uma e somente uma aresta.
	
	D
	Se removermos qualquer uma das arestas do grafo, estaríamos transformando o grafo
 em um do tipo completo.
O grafo já é completo. Se remover uma aresta qualquer, ele deixa de ser completo.
	
	E
	A aresta que conecta V1 e V3 e V1 E v4 podem ser chamadas de laços.
Laço é uma aresta com um só vértice.
Questão 4/5 - Estrutura de Dados
Na AULA 5 estudamos conceitos de grafos.
Acerca de grafos, seus conceitos e suas definições, assinale a alternativa INCORRETA.
Nota: 20.0
	
	A
	Um grafo é uma estrutura de dados que funciona de uma maneira não linear, 
podendo ser construído sem nenhum padrão definido.
	
	B
	Arestas são linhas de conexão entre grafos.
Você acertou!
São linhas de conexão entre vértices de um grafo. AULA 5 – TEMA 1.
	
	C
	Podemos mapear um mapa rodoviário como uma malha de vértices e arestas conectadas.
	
	D
	Podemos percorrer um grafo, andando por seus vértices e arestas, de maneira a 
encontramos os melhores caminhos nele.
	
	E
	Um grafo é composto de vértices e arestas;
Questão 5/5 - Estrutura de Dados
Na AULA 4 estudamos conceitos de árvores binárias. Acerca de árvores, assinale a alternativa abaixo:
1. ElementoDaArvoreBinaria *NovoElemento = NULL;
2. NovoElemento = (ElementoDaArvoreBinaria *)malloc(sizeof(ElementoDaArvoreBinaria));
3. NovoElemento->esquerda = NULL;
4. NovoElemento->direita = NULL;
5. 
6. NovoElemento->dado = num;
7. *ElementoVarredura = NovoElemento;
Acerca de árvores e seus aspectos construtivos, assinale a alternativa INCORRETA.
Nota: 0.0
	
	A
	O código refere a inicialização de um nó da árvore, onde alocamos a variável na
 memória e inicializamos os campos do registro.
Linha 2 contém a alocação, linhas 3, 4 e 5 contém a inicialização.
	
	B
	Baseado no código acima, podemos afirmar com certeza que o registro que armazena 
cada elemento da árvore contém um dado do tipo inteiro e dois ponteiros.
Não sabemos o tipo do dado pelo código acima.
	
	C
	Na linha 2 alocamos uma variável na memória destinada ao programa. O espaço 
alocado é igual a quantidade de Bytes usada pelo registro ElementoDaArvoreBinaria.
Sim. A função malloc em C faz alocação e a função sizeof diz o tamanho a ser alocado.
	
	D
	Na linha 1, a variável NovoElemento é declarada como sendo um ponteiro para um 
tipo de variável chamado ElementoDaArvoreBinaria.
Sim. O asterisco indicará o ponteiro;
	
	E
	Nas linhas 3, 4 e 6 estamos acessando os campos de um registro. Em linguagem C, 
um campo de uma variável ponteiro é acessado com uma flecha para a direta ‘->’, 
e não com um PONTO. Se usarmos PONTO neste caso, como por exemplo NovoElemento.esquerda, 
não irá funcionar.
Exatamente;