Logo Passei Direto
Buscar

Prática 01 OBJETIVA - Estrutura de Dados

Ferramentas de estudo

Questões resolvidas

Na AULA 4 estudamos conceitos de árvores binárias. Acerca de árvores, assinale a alternativa abaixo:
Acerca de árvores e seus aspectos construtivos, assinale a alternativa INCORRETA.
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;
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.
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.
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.
D Na linha 1, a variável NovoElemento é declarada como sendo um ponteiro para um tipo de variável chamado ElementoDaArvoreBinaria.
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.

Na AULA 5 estudamos a árvore binária balanceada AVL. Observe um exemplo de árvore AVL abaixo: Suponha que você quer remover o nó folha de valor 99. Acerca do balanceamento e rotação desta árvore sem o 99.
Assinale a alternativa CORRETA:
A A árvore ficará balanceada e não precisará de rotação nenhuma.
B A árvore ficará com um desbalanceamento de valor 2 na raiz.
C O nó filho de valor 80 está com balanceamento 0, resultando em uma rotação simples para a direita.
D A árvore está com um desbalanceamento de valor -2 na raiz, resultando em uma rotação simples para a esquerda.
E O nó filho de valor 80 está com balanceamento 1, resultando em uma dupla com filho para a esquerda e pai para a direita.

Na AULA 4 estudamos árvores binárias. Acerca de árvore binárias e a visualização dos dados em uma árvore construída para funcionar como uma Binary Search Tree, e considerando uma árvore binária onde os elementos menores ficam no ramo esquerdo e os maiores no ramo direito.
Assinale a alternativa CORRETA.
A Como a árvore binária não apresenta sequência/ordem fixas, podemos listar seus dados de diferentes maneiras: pré-ordem, ordem e pós-ordem.
B Uma visualização da árvore em ordem significa lista os elementos em ordem decrescente.
C Se fizermos uma listagem iniciando na direita, depois a raiz e depois o ramo esquerdo estaremos listando os elementos de maneira crescente.
D A impressão de valores em pré-ordem resultará em uma impressão inversa/oposto da em pós-ordem.
E Só é possível visualizar os dados de uma árvore binária caso não exista nenhum nó com grau 0.

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

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

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

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

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

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

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

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

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

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

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

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

Questões resolvidas

Na AULA 4 estudamos conceitos de árvores binárias. Acerca de árvores, assinale a alternativa abaixo:
Acerca de árvores e seus aspectos construtivos, assinale a alternativa INCORRETA.
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;
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.
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.
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.
D Na linha 1, a variável NovoElemento é declarada como sendo um ponteiro para um tipo de variável chamado ElementoDaArvoreBinaria.
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.

Na AULA 5 estudamos a árvore binária balanceada AVL. Observe um exemplo de árvore AVL abaixo: Suponha que você quer remover o nó folha de valor 99. Acerca do balanceamento e rotação desta árvore sem o 99.
Assinale a alternativa CORRETA:
A A árvore ficará balanceada e não precisará de rotação nenhuma.
B A árvore ficará com um desbalanceamento de valor 2 na raiz.
C O nó filho de valor 80 está com balanceamento 0, resultando em uma rotação simples para a direita.
D A árvore está com um desbalanceamento de valor -2 na raiz, resultando em uma rotação simples para a esquerda.
E O nó filho de valor 80 está com balanceamento 1, resultando em uma dupla com filho para a esquerda e pai para a direita.

Na AULA 4 estudamos árvores binárias. Acerca de árvore binárias e a visualização dos dados em uma árvore construída para funcionar como uma Binary Search Tree, e considerando uma árvore binária onde os elementos menores ficam no ramo esquerdo e os maiores no ramo direito.
Assinale a alternativa CORRETA.
A Como a árvore binária não apresenta sequência/ordem fixas, podemos listar seus dados de diferentes maneiras: pré-ordem, ordem e pós-ordem.
B Uma visualização da árvore em ordem significa lista os elementos em ordem decrescente.
C Se fizermos uma listagem iniciando na direita, depois a raiz e depois o ramo esquerdo estaremos listando os elementos de maneira crescente.
D A impressão de valores em pré-ordem resultará em uma impressão inversa/oposto da em pós-ordem.
E Só é possível visualizar os dados de uma árvore binária caso não exista nenhum nó com grau 0.

Prévia do material em texto

Questão 1/10 - 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.
	
	A
	O grau do vértice V1 é 3.
	
	B
	Todos os vértices deste grafo têm o mesmo grau, caracterizando um grafo trivial.
	
	C
	Este grafo é do tipo completo.
Você assinalou essa alternativa (C)
	
	D
	Se removermos qualquer uma das arestas do grafo, estaríamos transformando o grafo em um do tipo completo.
	
	E
	A aresta que conecta V1 e V3 e V1 E v4 podem ser chamadas de laços.
Questão 2/10 - 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.
	
	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.
	
	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.
Você assinalou essa alternativa (B)
	
	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.
	
	D
	Na linha 1, a variável NovoElemento é declarada como sendo um ponteiro para um tipo de variável chamado ElementoDaArvoreBinaria.
	
	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.
Questão 3/10 - Estrutura de Dados
Na AULA 5 estudamos a árvore binária balanceada AVL. Observe um exemplo de árvore AVL abaixo:
Suponha que você quer remover o nó folha de valor 99. Acerca do balanceamento e rotação desta árvore sem o 99. Assinale a alternativa CORRETA:
	
	A
	A árvore ficará balanceada e não precisará de rotação nenhuma.
	
	B
	A árvore ficará com um desbalanceamento de valor 2 na raiz.
	
	C
	O nó filho de valor 80 está com balanceamento 0, resultando em uma rotação simples para a direta.
Você assinalou essa alternativa (C)
	
	D
	A árvore está com um desbalanceamento de valor -2 na raiz, resultando em uma rotação simples para a esquerda.
	
	E
	O nó filho de valor 80 está com balanceamento 1, resultando em uma dupla com filho para a esquerda e pai para a direita.
Questão 4/10 - Estrutura de Dados
Na AULA 5 estudamos conceitos de grafos.
Acerca de grafos e seus aspectos construtivos, assinale a alternativa INCORRETA.
	
	A
	Um laço ocorre quando uma aresta está conectada em um só vértice.
	
	B
	Um grafo completo é aquele que contém uma, e somente, aresta para cada par distinto de vértices.
	
	C
	Um grafo ponderado é aquele no qual todas suas arestas contém um peso.
	
	D
	Um grafo trivial é aquele que apresente somente um vértice e uma aresta;
Você assinalou essa alternativa (D)
	
	E
	Encontramos arestas múltiplas em um grafo quando duas arestas conectam os mesmos vértices;
Questão 5/10 - Estrutura de Dados
Na AULA 5 estudamos conceitos de grafos e suas representações matemáticas
Acerca do grafo e suas representações matemáticas, assinale a alternativa INCORRETA.
	
	A
	Na representação por lista de adjacências, temos um conjunto de listas encadeadas, onde cada lista conterá todos os vizinhos de um único vértice;
	
	B
	Uma representação por matriz de incidências representa um grafo na forma de uma matriz, onde as linhas são os vértices e as colunas as arestas;
	
	C
	Uma representação por matriz de adjacências representa um grafo na forma de uma matriz, onde as linhas e as colunas são os vértices;
	
	D
	Uma representação por lista de adjacências representa um grafo na forma de um conjunto de listas encadeadas.;
	
	E
	Na representação por lista de adjacências não podemos repetir um vértice em duas listas encadeadas distintas.
Você assinalou essa alternativa (E)
Questão 6/10 - 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.
	
	A
	O grafo contém arestas múltiplas, pois temos mais de um caminho para sair de V1 e chegar em V9, por exemplo.
	
	B
	O grau do vértice V9 é 3.
	
	C
	Todos os vértices deste grafo têm o mesmo grau.
	
	D
	Este grafo é do tipo completo.
	
	E
	O grau do vértice V4 é 3.
Você assinalou essa alternativa (E)
Questão 7/10 - Estrutura de Dados
Na AULA 4 estudamos árvores binárias.
Acerca de árvore binárias e a visualização dos dados em uma árvore construída para funcionar como uma Binary Search Tree, e considerando uma árvore binária onde os elementos menores ficam no ramo esquerdo e os maiores no ramo direito, assinale a alternativa CORRETA.
	
	A
	Como a árvore binária não apresenta sequência/ordem fixas, podemos listar seus dados de diferentes maneiras: pré-ordem, ordem e pós-ordem.
Você assinalou essa alternativa (A)
	
	B
	Uma visualização da árvore em ordem significa lista os elementos em ordem decrescente.
	
	C
	Se fizermos uma listagem iniciando na direita, depois a raiz e depois o ramo esquerdo estaremos listando os elementos de maneira crescente.
	
	D
	A impressão de valores em pré-ordem resultará em uma impressão inversa/oposto da em pós-ordem.
	
	E
	Só é possível visualizar os dados de uma árvore binária caso não exista nenhum nó com grau 0.
Questão 8/10 - Estrutura de Dados
Na AULA 5 estudamos grafos e o algoritmo de caminho mínimo.
Acerca do algoritmo de caminho mínimo Djikstra, assinale a alternativa CORRETA.
	
	A
	Este algoritmo só é capaz de definir um menor caminho caso grafo seja ponderado.
	
	B
	O Djikstra só é capaz de definir a melhor rota seguindo uma métrica denominada de aditiva.
	
	C
	Quando não existe um caminho entre dois vértices, representamos como se a rota entre eles no vetor de distâncias tem um peso infinito (variável de valor extremamente alto).
Você assinalou essa alternativa (C)
	
	D
	O caminho de um vértice V0 até um vértice V2, passando por um vértice V1, utilizando métrica aditiva, será a soma dos pesos de V0 para V1 e V0 para V2.
	
	E
	O vértice de origem sempre terá um caminho infinito para si próprio.
Questão 9/10 - Estrutura de Dados
Na AULA 4 estudamos as diferentes consultas em árvores binárias. Observe o código de consulta em ordem na árvore, assumindo que os dados cadastrados são do tipo inteiro. 
1. void Consultar_EmOrdem(ElementoDaArvoreBinaria * ElementoVarredura)
2. {
3.      if (ElementoVarredura)
4.      {
5.           Consultar_EmOrdem(ElementoVarredura->esquerda);
6.           printf("%d\t", ElementoVarredura->dado);
7.           Consultar_EmOrdem(ElementoVarredura->direita);
8.      }
9. }
Acerca de consulta em árvore e do código acima, alternativa CORRETA.
	
	A
	A linha 7 poderá nunca ser executada no código acima. Basta que não exista nenhum elemento para a direita.
	
	B
	A linha 3 verifica se a variável ElementoVarredura é igual a zero.
	
	C
	A impressão dos dados em pré-ordem poderia ser feita se invertêssemos as linhas 6 e 7.
	
	D
	A impressão dos dados em pós-ordem poderia ser feita se invertêssemos as linhas 5 e 7.
	
	E
	Se quiséssemos imprimir os elementos da árvore de maneira decrescente, ou seja, do maior para o menor, poderíamos trocar as linhas 5 e 7.
Você assinalou essa alternativa (E)
Questão 10/10 - 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.
	
	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ê assinalou essa alternativa (A)
	
	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.
	
	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.
	
	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.
	
	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.

Mais conteúdos dessa disciplina