Baixe o app para aproveitar ainda mais
Prévia do material em texto
06/10/2020 EPS https://simulado.estacio.br/alunos/?user_cod=2063030&matr_integracao=201803260271 1/5 ESTRUTURA DE DADOS 10a aula Lupa Exercício: CCT0826_EX_A10_201803260271_V2 09/09/2020 Aluno(a): DANIELLE GALVÃO SALDANHA 2020.3 EAD Disciplina: CCT0826 - ESTRUTURA DE DADOS 201803260271 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 Lista encadeada Matriz Pilha Respondido em 06/10/2020 13:06:02 Assinale a alternativa que traz uma afirmação incorreta sobre as diversas implementações da estrutura de dados lista. 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 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 lista simplesmente encadeada é adequada para a resolução de problemas em que os elementos da lista devem ser percorridos em apenas uma direção. 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. Respondido em 06/10/2020 13:06:04 Explicação: Analisando cada item. >> A estrutura do nó da lista duplamente encadeada deve, Questão1 Questão2 https://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); javascript:diminui(); javascript:aumenta(); 06/10/2020 EPS https://simulado.estacio.br/alunos/?user_cod=2063030&matr_integracao=201803260271 2/5 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. 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 Questão3 06/10/2020 EPS https://simulado.estacio.br/alunos/?user_cod=2063030&matr_integracao=201803260271 3/5 listaDE *remove(listaDE *LISTA, int valor); listaDE *insereFim(listaDE *LISTA, int valor); listaDE *insereInicio(listaDE *LISTA, int valor); listaDE *busca (listaDE *LISTA, int valor); void exibeIpF(listaDE *LISTA); Respondido em 06/10/2020 13:06:10 Gabarito Comentado 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 F,F,V,V,V V,F,F,V,F V,F,V,F,V Respondido em 06/10/2020 13:08:49 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 Questão4 06/10/2020 EPS https://simulado.estacio.br/alunos/?user_cod=2063030&matr_integracao=201803260271 4/5 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 função Alocação dinâmica de memória Declaração de matriz Declaração de vetor Alocação estática de memória Respondido em 09/09/2020 23:36:18 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. Uma estrutura de dados em lista duplamente encadeada permite na cadeia movimentos para: Para cima e para baixo ou para frente e para trás. Para cima e para baixo, apenas. Para frente e para trás, apenas. Para trás, apenas. Para frente, apenas. Respondido em 06/10/2020 13:06:32 Explicação: A resposta é simples assim. 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; t=p->dir; p->dir = p->esq; p->esq = t; p->dir=t; p->esq = p->dir; p->dir = t; p->esq = p->dir; t = p->esq; p->dir = t; t=p; p->esq = p->dir; p->dir = p->esq; Respondido em 06/10/2020 13:06:35 Explicação: Questão5 Questão6 Questão7 06/10/2020 EPS https://simulado.estacio.br/alunos/?user_cod=2063030&matr_integracao=2018032602715/5 O código pedido é: t=p->dir; p->dir = p->esq; p->esq = t; 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 simplesmente encadeadas Listas Circulares Grafo Respondido em 06/10/2020 13:06:41 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. Questão8 javascript:abre_colabore('38403','204348387','4074964613');
Compartilhar