Baixe o app para aproveitar ainda mais
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');
Compartilhar