Baixe o app para aproveitar ainda mais
Prévia do material em texto
Av2 – Estrutura de dados 1) Como característica fundamental das pilhas dinâmicas temos a inserção e remoção de nós do topo(uma variável do tipo do nó). Sendo assim podemos afirmar que a cada novo nó inserido constituído de um ponteiro também do tipo do nó e um dado, deverá: Ter seu ponteiro apontando para o nó anterior, quando existir o nó anterior 2) Escreva uma função que permita inserir dados em uma lista duplamente encadeada de forma seqüencial, com o preenchimento de 3 nós, baseado na estrutura apresentada. A função deverá receber o nó inicial e não retornar nada. struct num_letra { int num; char letra; struct num_letra *ant, *post; }; void insere(num_letra *no){ num_letra *aux; for (int i=0;i<3;i++){ no->num = i; no->letra= i+65; if (i==0){ no->ant=NULL; no->post=NULL; }else{ aux= no-1; aux->post=no; no->ant=aux; no->post=NULL; } no++; } } 3)Variáveis são pedaços de memórias onde dados são armazenados durante a execução de um programa. Na linguagem C++ uma variável pode ser LOCAL ou GLOBAL. De acordo com as características das variáveis LOCAIS, marque a alternativa ERRADA. Uma variável local, uma vez criada só deixa de existir quando o programa termina. 4) Podemos definir registros (structs) como: Conjunto de dados heterogêneos; 5 - Segundo o material apresentado e as aulas tele, explique as características principais das listas, seus tipos e diferencie-as. As listas são caracterizadas pela sua forma de armazenamento e algoritmos de manipulação, onde algumas operações fundamentais as definem e distinguem. As estruturas são: Listas, Filas e Pilhas. As operações fundamentais são: Inserir, Retirar, Verificar Cheia, Verificar Vazia e Inicializar. Sendo outras operações como busca e ordenação são muito aplicadas. A diferença fundamental entre as mesmas está na retirada, onde as listas a retirada ocorre em qualquer posição a partir de uma busca, nas filas o primeiro a entrar é sempre o primeiro a sair FIFO, e nas pilhas o último a entrar é sempre o último a sair LIFO. 6) Chama-se “membros” os elementos que compõe uma estrutura (struct). E para acessá-los utiliza-se o operador ponto (.) . Suponha que as seguintes declarações tenham sido feitas: struct atleta { float altura; float peso; }; atleta Paulo; atleta Marcos; Marque a única alternativa contendo uma atribuição CORRETA: Paulo.altura=1.80; 7) Como característica fundamental das listas dinâmicas duplamente encadeadas temos: Possuir um nó com no mínimo três elementos, sendo um deles um ponteiro para o próximo nó e outro para o anterior. 8) A estrutura e a função apresentadas estão incompletas. struct num_letra { int num; char letra; struct num_letra *ant, _______ ; }; num_letra *funcao(num_letra *ini){ num_letra *aux, *fim; aux = ini; while(aux){ if (aux->post==________){ cout<<aux->letra; fim= aux; aux= NULL; }else{ cout<<aux->letra; aux++; } } _________________________; } Qual das opções completa os espaços destacados respectivamente, de forma que a função percorra todos os nós da posição recebida até o fim , exibindo apenas a letra armazenada e retorne o ponteiro do último nó. *post - NULL - return fim 9) Dentre os algoritmos de pesquisa ou busca em vetores, os mais difundidos são: a busca sequencial e a busca binária. Leia as sentenças abaixo e marque a assinale a resposta correta: I. Para um vetor que armazena de forma ordenada uma quantidade bastante considerável de dados, se considerarmos que o dado a ser procurado não encontra-se no vetor, o algoritmo da busca sequencial será mais rápido em chegar a esta conclusão, que o algoritmo da busca binária. II. O algoritmo da busca binária baseia-se no princípio da “divisão e conquista”, isto é, o espaço de busca é dividido em espaços menores de modo a simplificar a tarefa a ser realizada. III. Para um vetor que armazena de forma ordenada uma quantidade bastante considerável de dados, se considerarmos que o dado a ser procurado encontra-se entre as primeiras posições do vetor, o algoritmo da busca sequencial será mais rápido em encontrar o dado que o algoritmo da busca binária. IV. Quando é realizada uma busca em um vetor, normalmente não se tem ideia em que posição o dado a ser buscado se encontra no vetor, ou mesmo se o dado buscado não está no vetor. E sendo assim, no caso de vetores ordenados o algoritmo de busca binária é muito mais eficiente que o algoritmo de busca sequencial, na maioria dos casos. Apenas a I está errada. 10) Das opções apresentadas qual representa a estrutura de dados Fila: FIFO;
Compartilhar