Buscar

TESTE DE CONHECIMENTO AULA 10 - ESTRUTURA DE DADOS

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 6 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

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 6, do total de 6 páginas

Prévia do material em texto

ESTRUTURA DE DADOS
AULA 10
		1.
		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
	
	
	F,F,V,V,V
	
	
	F,V,V,F,F
	
	
	V,F,F,V,F
	
	
	V,F,F,F,V
	
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
	
	
	
	 
		
	
		2.
		Assinale a alternativa que traz uma afirmação incorreta sobre as diversas implementações da estrutura de dados lista.
	
	
	
	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 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 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.
	
	
	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.
	
	
	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.
	
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.
	 
	
	
	
	 
		
	
		3.
		                                                                                                                                                                                                                                                                                         Indique as afirmativas verdadeiras e as afirmativas falsas.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
	
	
	          
	Uma lista simplesmente encadeada possui apenas um ponteiro, em cada nó,  que guarda o endereço do  próximo nó da lista.
	
	          
	Uma lista duplamente encadeada possui dois ponteiros, sendo um responsável por armazenar o endereço do elemento anterior  e outro responsável por armazenar o endereço do elemento posterior.
	
	          
	É possível implementar um algoritmo de listagem dos dados de uma lista duplamente encadeada utilizando a mesma lógica de um algoritmo de listagem de uma lista simplesmente encadeada.
	
	          
	No primeiro elemento de uma lista duplamente encadeada,  o campo que guarda o endereço do elemento anterior contém o endereço do último elemento da lista.
	
	          
	No último elemento de uma lista simplesmente encadeada não circular o campo que guarda o endereço do elemento posterior contém o endereço do primeiro elemento da lista.
	
Explicação:
Uma lista simplesmente encadeada possui apenas um ponteiro, em cada nó,  que guarda o endereço do  próximo nó da lista.
Verdadeiro, por definição de lista simplesmente encadeada.
 
Uma lista duplamente encadeada possui dois ponteiros, sendo um responsável por armazenar o endereço do elemento anterior  e outro responsável por armazenar o endereço do elemento posterior.
Verdadeiro, por definição de lista duplamente encadeada
 
No primeiro elemento de uma lista duplamente encadeada,  o campo que guarda o endereço do elemento anterior contém o endereço do último elemento da lista.
Falso.  O ponteiro à esquerda do 1o. no é NULL.
No último elemento de uma lista simplesmente encadeada não circular o campo que guarda o endereço do elemento posterior contém o endereço do primeiro elemento da lista.
FAlso.  Em uma lista simplesmente encadeada não circular o último ponteiro é NULL.
 
É possível implementar um algoritmo de listagem dos dados de uma lista duplamente encadeada utilizando a mesma lógica de um algoritmo de listagem de uma lista simplesmente encadeada.
Verdadeiro, por definição de lista simplesmente encadeada  e por definição de lista duplamente encadeada.
	
	
	
	 
		
	
		4.
		Os registros também conhecidos como estruturas, são estruturas de dados do tipo heterogêneo, ou seja, permitem que valores de tipos diferentes possam ser armazenados em uma mesma estrutura. Analisando a estrutura abaixo, a mesma pode ser utilizada para qual tipo de estrutura de dados, marque a alternativa correta.
struct nomeRegistro{
       int info;
       struct nomeRegistro* ant;
       struct nomeRegistro* prox;
};
typedef struct nomeRegistro NOMEREGISTRO;
	
	
	
	Fila
	
	
	Lista duplamente encadeada
	
	
	Pilha
	
	
	Lista encadeada
	
	
	Matriz
	
	
	
	 
		
	
		5.
		São listas que, além de cada elemento indicar o elemento seguinte, também indicam aquele que o antecede, ou melhor, cadaelemento é 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  :
	
	
	
	Grafo
	
	
	Listas Duplamente Encadeadas
	
	
	Árvore
	
	
	Listas simplesmente encadeadas
	
	
	Listas Circulares
	
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.
	
	
	
	 
		
	
		6.
		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->dir;
p->esq = p->dir;
p->dir = t;
	
	
	p->esq = p->dir;
t = p->esq;
p->dir = t;
	
	
	t=p->dir;
p->dir = p->esq;
p->esq = t;
	
	
	t=p;
p->esq = p->dir;
p->dir = p->esq;
	
	
	p->dir=t;
p->esq = p->dir;
p->dir = t;
	
Explicação:
O código pedido é:
t=p->dir;
p->dir = p->esq;
p->esq = t;
	
	
	
	 
		
	
		7.
		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 duplamente encadeada cada nó aponta para nó seguinte e para o primeiro nó da fila.
	
	
	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.
	
	
	Em uma lista duplamente encadeada, cada nó aponta para um nó enquanto a lista simplesmente encadeada aponta para mais de um nó.
		
	Gabarito
Comentado
	
	
	
	
	 
		
	
		8.
		 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:
	
	
	
	Y, antes do Z, e X, logo após o Z.
	
	
	Y, antes do Z, e X, antes do Y.
	
	
	X, antes do Z, e Y, logo após o Z.
	
	
	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.
V
V
V
F
F

Continue navegando