Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliação: CCT0174_AVS_201102071421 » ESTRUTURA DE DADOS Tipo de Avaliação: AVS Aluno: 201102071421 - NILSON ESTEVÃO MARTINS Professor: SERGIO DE OLIVEIRA SANTOS Turma: 9002/AB Nota da Prova: 4,5 Nota de Partic.: 2 Data: 30/06/2014 07:21:34 1a Questão (Ref.: 201102137125) Pontos: 1,0 / 1,5 Qual a diferença entre pilha e fila? Resposta: Pilha: A entrada e a saída de dados e realizada pela mesma extremidade. Fila: A entrada de dados é realizado por uma extremidade, e a saída é realizado pela outra. Gabarito: Pilha se caracteriza por ser uma estrutura de dados que são inseridos e retirados numa sequencia semelhante as anilhas de alteres, isto é, usa a lógica LIFO. Já uma fila se caracteriza por ser um estrutura semelhante a fila de banco, isto é, os dados vão chegando e sendo processados e retirados da estrutura. Essa lógica é chamada de FIFO. 2a Questão (Ref.: 201102134839) Pontos: 0,5 / 1,5 Considere duas listas simplesmente encadeadas circulares e não vazias de inteiros e o tipo struct no { int dado; struct no *link; }; Faça uma função para criar uma lista simplesmente encadeada não circular que seja constituída pelos elementos comuns às duas listas passadas. Protótipo : no *inter(no *x, no*y); Resposta: Struct no *inter{ int x int y for ( Gabarito: no *insere_frente(no *p, int valor) { no *q; q = new no; q->dado = valor; q->link = p; return q; } no *inter(no *x, no *y) { no *t, *r, *q; t = x; q = NULL; do { r = y; do { if (t->dado == r->dado) q = insere_frente(q,t->dado); r = r->link; } while (r != y); t = t->link; } while (t != x); return q; } 3a Questão (Ref.: 201102311599) Pontos: 1,0 / 1,0 void enfileirar(Fila F, int valor) { if (F.fim == n) cout << "Fila cheia\n"; else { F.fim++; F.v[F.fim] = valor; } } void enfileirar(Fila F, int valor) { if (F.fim == n - 1) cout << "Fila cheia\n"; else { F.fim++; F.v[F.fim] = valor; } } void enfileirar(Fila &F, int valor) { if (F.fim == n - 1) cout << "Fila cheia\n"; else { F.fim++; F.v[F.fim] = valor; } } void enfileirar(Fila &F, int valor) { if (fim == n - 1) cout << "Fila cheia\n"; else { fim++; v[fim] = valor; } } void enfileirar(Fila &F, int valor) { if (F.fim == n - 1) cout << "Fila cheia\n"; else F.v[F.fim] = valor; } 4a Questão (Ref.: 201102106703) Pontos: 0,0 / 1,0 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 Alocação estática de memória Declaração de vetor 5a Questão (Ref.: 201102098231) Pontos: 0,5 / 0,5 Em relação a estruturas de dados, avalie a correspondência existente entre as estruturas de dados Lineares e Não Lineares com suas respectivas coleções de dados. A correta associação entre os elementos das duas tabelas é: a1, b1, c2, d1 a2, b1, c2, d1. a2, b2, c1, d2. a1, b1, c2, d2. a1, b2, c1, d1. 6a Questão (Ref.: 201102106338) Pontos: 0,5 / 0,5 Qual a importância de se entender a "ordenação" de dados ? A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas. A ordenação é a base na qual, muitos programas são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas. A ordenação é a base na qual, muitos sistemas são construídos. Entendendo a ordenação, tem-se conhecimento para resolver outros problemas. A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento para manter outros problemas. A ordenação é a base na qual, muitos algoritmos são construídos. Entendendo a ordenação, tem-se conhecimento para resolver outros problemas. 7a Questão (Ref.: 201102098227) Pontos: 0,5 / 0,5 A técnica LIFO (last in first out), utilizada em programação estruturada, é fundamentada no conceito de: loop array pilha fila ponteiro 8a Questão (Ref.: 201102328274) Pontos: 0,0 / 0,5 Um programador recebeu a tarefa de construir um programa que receba uma cadeia de caracteres e verifique se esta cadeia de caracteres é um PALÍNDROME, sabendo-se que um PALÍNDROME apresenta a mesma sequência de caracteres da esquerda pra direita, quanto da direita para esquerda, marque a opção que possui a estrutura de dados mais adequada a este programa. Grafos Pilha Sequencial Árvores Lista Sequencial Fila Sequencial 9a Questão (Ref.: 201102106343) Pontos: 0,5 / 0,5 Marque a afirmativa correta para a "inserção incremental". Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos. É um tipo de sequenciação por intercalação. Os pivôs são escolhidos aleatoriamente. É um tipo de ordenação por intercalação A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos. 10a Questão (Ref.: 201102106165) Pontos: 0,0 / 0,5 Considere uma estrutura de dados do tipo vetor. Com respeito a tal estrutura, é correto que seus componentes são caracteristicamente: Heterogêneos e com acesso indexado-sequencial. Heterogêneos e com acesso FIFO. Homogêneos e de acesso aleatório por intermédio de índices. Homogêneos e com acesso indexado-sequencial. Heterogêneos e com acesso LIFO.
Compartilhar