Buscar

Estrutura de Dados - Aula 10 - Teste de Conhecimento

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

Prévia do material em texto

1
          Questão
	
	
	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  :
		
	 
	Listas Duplamente Encadeadas
	
	Árvore
	
	Grafo
	
	Listas simplesmente encadeadas
	
	Listas Circulares
	Respondido em 06/05/2021 10:20:56
		2
          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 a busca de um nodo apontado pelo ponteiro p.
	 
	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 o percurso do ponteiro p da direita para esquerda.
	
	As operações possibilitam o percurso do ponteiro p da esquerda para direita.
	Respondido em 06/05/2021 10:21:00
	
	
	 
		3
          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 *insereFim(listaDE *LISTA, int valor);
	
	listaDE *busca (listaDE *LISTA, int valor);
	 
	listaDE *insereInicio(listaDE *LISTA, int valor); 
	
	void exibeIpF(listaDE *LISTA);
	
	listaDE *remove(listaDE *LISTA, int valor);
	Respondido em 06/05/2021 10:21:04
	
		4
          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 um nó enquanto a lista simplesmente encadeada aponta para mais de um nó.
	 
	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 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.
	Respondido em 06/05/2021 10:21:09
	
		5
          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:
		
	
	Y, antes do Z, e X, antes do Y.
	
	Y, antes do Z, e X, logo após o Z.
	 
	Y, logo após o Z, e X, logo após o Y.
	
	X, antes do Z, e Y, logo após o Z.
	
	X, logo após o Z, e Y, logo após o X.
	Respondido em 06/05/2021 10:21:12
	
		6
          Questão
	
	
	Com relação à lista duplamente encadeada, é correto afirmar que :
		
	
	Não pode ser vazia.
	 
	A lista pode ser  percorrida com igual facilidade para a direita ou para a esquerda, pois existem dois ponteiros.
	
	Consome  menos memória do que uma lista simplesmente encadeada, se tivermos uma mesma aplicação.
	
	          A lista precisa ter sempre um ponteiro apontando para o 1º. nó
	
	Não pode haver remoções no meio da lista.
	Respondido em 06/05/2021 10:21:15
	
		7
          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,F,F,V
	
	F,V,V,F,F
	
	V,F,F,V,F
	
	F,F,V,V,V
	
	V,F,V,F,V
	Respondido em 06/05/2021 10:21:19
		8
          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:
		
	
	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.
	
	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.
	
	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.
	
	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.
	 
	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.
		1
          Questão
	
	
	                                                                                                                                                       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.
	 
	É 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 ú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.
	 
	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.
	 
	Uma listaduplamente 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.
	Respondido em 06/05/2021 10:21:41
		2
          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:
		
	
	Só poderei inserir no final da lista e no começo somente se ela estiver vazia.
	
	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 nunca no começo ou no meio.
	 
	Posso inserir no começo, no meio ou no fim.
	Respondido em 06/05/2021 10:21:45
		3
          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;
 
	
	n 
   
   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;
	
	 
n  nodupla *novo;
 
    novo = new nodupla;
    novo->dado = valor;
    novo->elink = NULL;
    if (p != NULL)
       p->elink = novo;
    p = novo;
 
 
	Respondido em 06/05/2021 10:21:49
	
		4
          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;
	
	p->esq = p->dir;
t = p->esq;
p->dir = t;
	 
	t=p->dir;
p->dir = p->esq;
p->esq = t;
	
	t=p->dir;
p->esq = p->dir;
p->dir = t;
	Respondido em 06/05/2021 10:21:54
		5
          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 matriz
	
	Declaração de vetor
	
	Declaração de função
	
	Alocação estática de memória
	 
	Alocação dinâmica de memória
	Respondido em 06/05/2021 10:21:58
		6
          Questão
	
	
	Em uma lista linear duplamente encadeada.
		
	
	O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista, formando um ciclo.
	
	Cada ponteiro possui um só endereço que referencia o primeiro nó da lista.
	 
	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 06/05/2021 10:22:03
	
		7
          Questão
	
	
	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;
		
	 
	Lista duplamente encadeada
	
	Matriz
	
	Pilha
	
	Fila
	
	Lista encadeada
	Respondido em 06/05/2021 10:22:05
	
	
	 
		8
          Questão
	
	
	Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para
		
	
	trás, apenas.
	 
	frente e para trás, apenas.
	
	frente, apenas.
	
	cima e para baixo ou para frente e para trás.
	
	cima e para baixo, apenas.

Outros materiais