Вы находитесь на странице: 1из 5

25/05/2020 EPS

ESTRUTURA DE DADOS
Lupa
10a aula
PPT MP3

Exercício: CCT0826_EX_A10_201901306054_V2 25/05/2020

Aluno(a): JONATAS RICIANO SILVEIRA 2020.1 EAD

Disciplina: CCT0826 - ESTRUTURA DE DADOS 201901306054

1a Questão

Geralmente em algumas situações é necessário fazer a desalocação do espaço utilizado na memória. Porém, isso depende de como
a reserva de uma quantidade de espaço de memória é feita, pois em alguns casos, o próprio compilador faz a desalocação. Quando
o compilador não faz esta desalocação a memória foi reservada utilizando______.

Declaração de vetor
Declaração de matriz
Alocação dinâmica de memória
Alocação estática de memória
Declaração de função
Respondido em 25/05/2020 03:00:11

Explicação:

Se for necessário liberar a memória ocupada por essas variáveis, é preciso recorrer à função free.

A função free desaloca a porção de memória alocada por malloc.

A instrução free (ptr) avisa ao sistema que o bloco de bytes apontado por ptr está disponível para reciclagem.

2a Questão

Considere uma lista duplamente encadeada não circular em que

struct nodupla {
int dado;
struct nodupla *dlink; // aponta p/ o nó à direita
struct nodupla *elink; // aponta p/ o nó à esquerda
};

sendo nodupla *p; //ponteiro para o início da lista

A opção que corretamente mostra as instruções para inserir um valor no início da lista apontada por p é :

n nodupla *novo;

novo = new nodupla;


novo->dado = valor;
novo->elink = NULL;
if (p != NULL)
p->elink = novo;
simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 1/5
25/05/2020 EPS
p = novo;

nodupla *novo;

novo = new nodupla;


novo->dado = valor;
novo->dlink = p;
if (p != NULL)
p->elink = novo;
p = novo;

nodupla *novo;

novo = new nodupla;


novo->dado = valor;
novo->dlink = p;
novo->elink = NULL;
p->elink = novo;
p = novo;

nodupla *novo;

novo = new nodupla;


novo.dado = valor;
novo.dlink = p;
novo.elink = NULL;
if (p != NULL)
p.elink = novo;
p = novo;
nodupla *novo;

novo = new nodupla;


novo->dado = valor;
novo->dlink = p;
novo->elink = NULL;
if (p != NULL)
p->elink = novo;
p = novo;
Respondido em 25/05/2020 03:00:32

Gabarito
Coment.

3a Questão

O armazenamento de dados na memória do computador é feito de forma ordenada, utilizando-se estruturas e regras de operações.
Das alternativas a seguir, assinale a correta:

Existem várias formas de apresentação de listas lineares, como listas circulares e as matrizes, que são formas exclusivas
das listas de alocação encadeada.
Em uma lista linear com alocação sequencial, os dados são heterogêneos e os nós da lista podem ter tamanhos diferentes,
mas exigem espaço em endereço contíguo de memória.
Em uma lista linear com alocação duplamente encadeada os nós da estrutura ocupam espaços aleatórios na memória e
cada nó armazena além da sua informação os endereços do nó anterior e do próximo nó da estrutura.
Fila e Pilha são tipos especiais de listas lineares. Na Fila, o último que entra é o primeiro que sai, enquanto na Pilha, o
primeiro que entra é o primeiro que sai.
A lista binária é uma forma não-linear de organização dos dados. Existe um nó denominado raiz da árvore, que pode ter
duas ou mais sub-árvores, que por sua vez também podem ter outras sub-árvores.
Respondido em 25/05/2020 03:00:34

Explicação:

Existem várias formas de apresentação de listas lineares, como listas circulares e


as matrizes, que são formas exclusivas das listas de alocação encadeada.=è
FALSO =è Ela possui apenas uma entrada, chamada de topo, a partir da qual os dadosentram e saem dela. Exemplos de

simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 2/5
25/05/2020 EPS
pilhas são: pilha de pratos, pilha de livros, pilhade alocação de variáveis da memória, etc. Uma fila é uma lista linear do tipo FIFO -
First In First Out, o primeiro elemento a entrar será o primeiro a sair

A lista binária é uma forma não-linear de organização dos dados. Existe um nó


denominado raiz da árvore, que pode ter duas ou mais sub-árvores, que por sua
vez também podem ter outras sub-árvores.=è FALSO
Em uma lista linear com alocação sequencial, os dados são heterogêneos e os nós
da lista podem ter tamanhos diferentes, mas exigem espaço em endereço
contíguo de memória. .=è FALSO
Em uma lista linear com alocação duplamente encadeada os nós da estrutura
ocupam espaços aleatórios na memória e cada nó armazena além da sua
informação os endereços do nó anterior e do próximo nó da estrutura. ===>
VERDADE
Fila e Pilha são tipos especiais de listas lineares. Na Fila, o último que entra é o
primeiro que sai, enquanto na Pilha, o primeiro que entra é o primeiro que sai.
===> FALSO ===> Fila, o valor lido, sempre é passado para o começo, ou seja,
esse valor aponta para as próximas posições, e quando for feita a exclusão, é só
deletar esse valor do começo. Abaixo uma imagem que representa a Fila
(FIFO). Pilha, sempre o último valor lido, ficará na `primeira¿ posição da lista,
dessa forma, quando for feita a exclusão, um auxiliar aponta para a próxima
posição, e a posição atual, é excluída. Abaixo uma imagem que representa a Pilha
(LIFO)

4a Questão

Sobre as estruturas de dados lineares, assinale V ou F:

I - Em uma pilha, o último elemento a entrar é o primeiro a sair.

II - Em uma fila, o primeiro elemento a entrar é o último a sair.

III - Uma lista permite que as inserções possam ser feitas em qualquer lugar (posição), mas as remoções, não.

IV - Em uma lista circular com encadeamento simples, o primeiro elemento aponta para o segundo e para o último.

V - Para remover um elemento de uma lista duplamente encadeada, deve-se alterar o encadeamento dos elementos anterior e
próximo ao elemento removido. A sequência correta de cima para baixo:

F,F,V,V,V
V,F,F,V,F
F,V,V,F,F
V,F,V,F,V
V,F,F,F,V
Respondido em 25/05/2020 03:00:20

Explicação:

Vamos analisar cada afirmativa.

Analisando a afirmativa I : Correto, pois a estrutura pilha segue a lógica LIFO.

Analisando a afirmativa II : Falso. Na estrutura de dados fila, o primeiro a entrar é


o primeiro a sair, pois segue a lógica FIFO.

Analisando a afirmativa III : Falso. Em uma lista tanto as inserções quanto as


remoções podem ser feitas em qualquer posição.

simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 3/5
25/05/2020 EPS

Analisando a afirmativa IV : Falso. Em uma lista circular, o1o. elemento aponta


para o segundo elemento, mas o último elemento aponta para o 1º. elemento da
lista.

Analisando a afirmativa V : Está correta.

Logo, a opção correta é V, F, F, F, V

5a Questão

Observe a struct, definida globalmente, e um trecho de uma função que manipula uma
Lista Duplamente Encadeada.
struct listaDE
{
int info;
struct listaDE* ant;
struct listaDE* prox;
};
...
listaDE* novo = new listaDE;
novo->info = valor;
novo->prox = LISTA;
novo->ant = NULL;
Assinale a alternativa que apresenta o protótipo dessa função

listaDE *insereInicio(listaDE *LISTA, int valor);


listaDE *remove(listaDE *LISTA, int valor);

listaDE *insereFim(listaDE *LISTA, int valor);

void exibeIpF(listaDE *LISTA);

listaDE *busca (listaDE *LISTA, int valor);

Respondido em 25/05/2020 03:00:40

Gabarito
Coment.

6a Questão

Em uma lista duplamente encadeada, seus nodos são compostos por campos cujos tipos podem ser de diferentes naturezas,
entretanto dois de seus campos devem ser ponteiros para o mesmo tipo do nodo, são estes os ponteiros ant e prox, que apontam,
respectivamente, para o nodo anterior e para o próximo nodo. Esta característica permite que a estrutura seja percorrida em
ambos os sentidos. Assim analisando as operações a seguir:

p->ant->prox=p->prox;
p->prox->ant=p->ant;

Sendo p um ponteiro que aponta para um dos nodos da lista, pode-se afirmar que:

As operações removem o nodo apontado pelo ponteiro p.


As operações inserem novo nodo, após o nodo apontado pelo ponteiro p.
As operações possibilitam a busca de um nodo apontado pelo ponteiro p.
As operações possibilitam o percurso do ponteiro p da direita para esquerda.
simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 4/5
25/05/2020 EPS
As operações possibilitam o percurso do ponteiro p da esquerda para direita.
Respondido em 25/05/2020 03:02:25

Gabarito
Coment.

7a Questão

Em uma lista linear duplamente encadeada.

Cada ponteiro possui um só endereço que referencia o primeiro nó da lista.


O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista, formando um ciclo.
Além do campo relativo ao dado, cada nó possui dois ponteiros.
O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista.
Cada nó possui um só ponteiro que referencia o próximo nó da lista.
Respondido em 25/05/2020 03:00:27

Gabarito
Coment.

8a Questão

As listas encadeadas podem ser elaboradas de duas formas utilizando uma técnica de encadeamento simplesmente ou
encadeamento duplo. O que difere uma lista simplesmente encadeada de uma lista duplamente encadeada?

Em uma lista duplamente encadeada cada nó aponta para nó seguinte e para o primeiro nó da fila.
Em uma lista duplamente encadeada cada nó aponta para nó seguinte.
Em uma lista duplamente encadeada, cada nó aponta para um nó enquanto a lista simplesmente encadeada aponta para
mais de um nó.
Em uma lista simplesmente encadeada cada nó aponta para nó seguinte e para o nó anterior.
Em uma lista simplesmente encadeada cada nó aponta para um único nó enquanto a lista duplamente encadeada aponta
para mais de um nó.
Respondido em 25/05/2020 03:00:47

Gabarito
Coment.

simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 5/5

Вам также может понравиться