Sei sulla pagina 1di 5

25/05/2020 EPS

ESTRUTURA DE DADOS
Lupa
10a aula
PPT MP3

Exercício: CCT0826_EX_A10_201901306054_V1 24/05/2020

Aluno(a): JONATAS RICIANO SILVEIRA 2020.1 EAD

Disciplina: CCT0826 - ESTRUTURA DE DADOS 201901306054

1a Questão

Um tipo de estrutura de dados é declarada em C como:


typedef struct no *apontador;
struct no{
int valor;
apontador esq, dir;
}
onde esq e dir representam ligações para os dados da esquerda e direita, respectivamente. Qual das seguintes alternativas é uma
implementação correta da operação que inverte as posições dos dados da esquerda e da direita uma estrutura p, onde t é um
apontador auxiliar.

t=p;
p->esq = p->dir;
p->dir = p->esq;
p->dir=t;
p->esq = p->dir;
p->dir = t;
t=p->dir;
p->dir = p->esq;
p->esq = t;
t=p->dir;
p->esq = p->dir;
p->dir = t;
p->esq = p->dir;
t = p->esq;
p->dir = t;
Respondido em 24/05/2020 01:54:15

Explicação:

O código pedido é:

t=p->dir;
p->dir = p->esq;
p->esq = t;

2a Questão

Com relação à lista duplamente encadeada, é correto afirmar que :

Não pode ser vazia.

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

A lista precisa ter sempre um ponteiro apontando para o 1º. nó


Consome menos memória do que uma lista simplesmente encadeada, se tivermos
uma mesma aplicação.

Não pode haver remoções no meio da lista.

A lista pode ser percorrida com igual facilidade para a direita ou para a esquerda,
pois existem dois ponteiros.

Respondido em 24/05/2020 01:54:38

Gabarito
Coment.

3a Questão

Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para

frente, apenas.
frente e para trás, apenas.
trás, apenas.
cima e para baixo, apenas.
cima e para baixo ou para frente e para trás.
Respondido em 24/05/2020 01:54:55

Gabarito
Coment.

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:

V,F,V,F,V
V,F,F,F,V
V,F,F,V,F
F,F,V,V,V
F,V,V,F,F
Respondido em 24/05/2020 01:56:28

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 2/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

Suponha uma listagem mantida com informações sobre um equipamento a ser adquirido por uma
empresa. A listagem possui as informações sobre de 10 fornecedores, descritas a seguir:
próximo: um ponteiro para o próximo fornecedor da listagem;
nome: nome, identificando o fornecedor;
valor: preço do equipamento no fornecedor;
anterior: um ponteiro para o fornecedor anterior da listagem.
Sendo o fornecedor "Z" o quinto elemento desta listagem e "X" e "Y" dois outros fornecedores que
não pertencem à listagem, com seus respectivos ponteiros "pZ", "pX" e "pY", considere o trecho de
código abaixo.
pY->proximo = pX;
pX->anterior = pY;
pX->proximo = pZ->proximo;

pZ->proximo->anterior = pX;
pZ->proximo = pY;
pY->anterior = pZ;
Este trecho de código é usado para inserir na listagem os fornecedores:

X, logo após o Z, e Y, logo após o X.


Y, antes do Z, e X, antes do Y.
Y, logo após o Z, e X, logo após o Y.
Y, antes do Z, e X, logo após o Z.
X, antes do Z, e Y, logo após o Z.
Respondido em 24/05/2020 01:58:04

Gabarito
Coment.

6a Questão

Em uma lista linear duplamente encadeada.

O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista.
Além do campo relativo ao dado, cada nó possui dois ponteiros.
Cada nó possui um só ponteiro que referencia o próximo nó da lista.
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.
Respondido em 24/05/2020 01:59:00

Gabarito
Coment.

7a Questão

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

São listas que, além de cada elemento indicar o elemento seguinte, também indicam aquele que o antecede, ou melhor, cada
elemento é ligado a seu sucessor e a seu predecessor, possibilitando um caminhamento no sentido início-fim ou no sentido oposto
(fim-início). O texto acima, sobre Estrutura de Dados, descreve :

Árvore
Listas Duplamente Encadeadas
Listas Circulares
Grafo
Listas simplesmente encadeadas
Respondido em 24/05/2020 01:59:10

Explicação:

O enunciado é a descrição de listas duplamente encadeadas, que terão 2 ponteiros em cada nó, um apontando para o nó anterior e
outro apontando para o nó posterior.

8a 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 é :

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;
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;
nodupla *novo;

novo = new nodupla;


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

simulado.estacio.br/alunos/?user_cod=2253538&matr_integracao=201901306054 4/5
25/05/2020 EPS
n nodupla *novo;

novo = new nodupla;


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

Respondido em 24/05/2020 01:59:49

Gabarito
Coment.

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

Potrebbero piacerti anche