Buscar

CT0826_EX_A10 - ESTRUTURA DE DADOS

Prévia do material em texto

ESTRUTURA DE DADOS
10a aula
 Lupa 
PPT MP3
 
Exercício: CCT0826_EX_A10_201907046445_V1 02/06/2020
Aluno(a): FERNANDO TADEU LOTTERMANN JUNIOR 2020.1 EAD
Disciplina: CCT0826 - ESTRUTURA DE DADOS 201907046445
 
 1a 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 possibilitam o percurso do ponteiro p da direita para esquerda.
As operações possibilitam a busca de um nodo apontado pelo ponteiro p.
 As operações removem o nodo apontado pelo ponteiro p.
As operações possibilitam o percurso do ponteiro p da esquerda para direita.
As operações inserem novo nodo, após o nodo apontado pelo ponteiro p.
Respondido em 02/06/2020 21:45:38
Gabarito
Coment.
 
 2a 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;
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('2','10','','','');
javascript:abre_frame('3','10','','','');
pZ->proximo = pY;
pY->anterior = pZ;
Este trecho de código é usado para inserir na listagem os fornecedores:
X, antes do Z, e Y, logo após o Z.
Y, antes do Z, e X, logo após o Z.
Y, antes do Z, e X, antes do Y.
 Y, logo após o Z, e X, logo após o Y.
X, logo após o Z, e Y, logo após o X.
Respondido em 02/06/2020 21:45:42
Gabarito
Coment.
 
 3a Questão
Ao criarmos uma rotina para inserir um dado em uma LISTA de dados duplamente encadeada e circular, nos deparamos com as
seguintes cuidados:
 Posso inserir no começo, no meio ou no fim.
Só poderei inserir no começo ou no fim, mas não no meio.
Só poderei inserir no final da lista e no começo somente se ela estiver cheia.
Só poderei inserir no final da lista e no começo somente se ela estiver vazia.
Só poderei inserir no final da lista e nunca no começo ou no meio.
Respondido em 02/06/2020 21:45:45
Explicação:
Em uma lista duplamente encadeada circular ou não, podemos inserir ou remover de qualquer parte da lista. Não há problema na
inserção se a lista estiver vazia. 
 
 4a 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
void exibeIpF(listaDE *LISTA);
listaDE *insereFim(listaDE *LISTA, int valor);
listaDE *busca (listaDE *LISTA, int valor);
listaDE *remove(listaDE *LISTA, int valor);
 listaDE *insereInicio(listaDE *LISTA, int valor); 
Respondido em 02/06/2020 21:45:49
Gabarito
Coment.
 
 5a 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 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ó.
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 um nó enquanto a lista simplesmente encadeada aponta para
mais de um nó.
Em uma lista duplamente encadeada cada nó aponta para nó seguinte.
Respondido em 02/06/2020 21:45:54
Gabarito
Coment.
 
 6a Questão
Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para
cima e para baixo ou para frente e para trás.
 frente e para trás, apenas.
frente, apenas.
cima e para baixo, apenas.
trás, apenas.
Respondido em 02/06/2020 21:46:16
Gabarito
Coment.
 
 7a Questão
Assinale a alternativa que traz uma afirmação incorreta sobre as diversas implementações da estrutura de dados lista.
A lista sequencial deve ser implementada com o uso de estruturas de vetor, pois essas essas estruturas utilizam o conceito
de alocação estática e dispõem seus elementos de forma contígua na memória.
 Listas encadeadas em geral são preferíveis em relação às listas sequenciais, especialmente por serem mais eficientes e
sempre utilizarem menos espaço de armazenamento na memória.
A estrutura do nó da lista duplamente encadeada deve, obrigatoriamente, possuir um ponteiro para o nó anterior e outro
para o nó seguinte, permitindo movimentação para frente e para trás.
A lista simplesmente encadeada é adequada para a resolução de problemas em que os elementos da lista devem ser
percorridos em apenas uma direção.
A lista circular é toda lista, independente do tipo de alocação, em que é formado um ciclo entre seus elementos. Por
exemplo, quando o último elemento da lista aponta para o primeiro.
Respondido em 02/06/2020 21:46:20
Explicação:
Analisando cada item.
>> A estrutura do nó da lista duplamente encadeada deve,
obrigatoriamente, possuir um ponteiro para o nó anterior e outro para o nó
seguinte, permitindo movimentação para frente e para trás.
 Afirmativa correta, que segue a definição de lista duplamente encadeada. 
Não marcar o item.
 >> A lista simplesmente encadeada é adequada para a resolução de
problemas em que os elementos da lista devem ser percorridos em apenas
uma direção.
 
 Afirmativa correta. Em uma lista simplesmente encadeada existe ponteiro
para o início da lista. Por isso, não dá para percorrer tal lista do fim para o
início. Nâo marcar o item.
>> A lista sequencial deve ser implementada com o uso de estruturas de
vetor, pois essas essas estruturas utilizam o conceito de alocação estática e
dispõem seus elementos de forma contígua na memória.
 
 Afirmativa correta. O vetor pode até ser dinâmica, mas usualmente usa
alocação estática de memória e é o recurso usado na implementação das
listas sequenciais. Não marcar o item.
>> A lista circular é toda lista, independente do tipo de alocação, em que é
formado um ciclo entre seus elementos. Por exemplo, quando o último
elemento da lista aponta para o primeiro.
 
 Afirmativa correta. 
>> Listas encadeadas em geral são preferíveis em relação às listas
sequenciais, especialmente por serem mais eficientes e sempre utilizarem
menos espaço de armazenamento na memória.
 Afirmativa falsa porque as listas encadeadas não ocupam menos espaço
que as listas sequencias. Cada nó de uma lista simplemente encadeada, por
exemplo, tem um campo de dado e um campo que é ponteiro.
Marcar esta afirmativa.
 
 
 8a 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 segundoe 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
 V,F,F,F,V
F,V,V,F,F
V,F,V,F,V
Respondido em 02/06/2020 21:46:08
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.
 
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
javascript:abre_colabore('38403','198024352','3972361734');

Continue navegando