Buscar

Estrutura de Dados para AV3

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 23 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 23 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 9, do total de 23 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

Prévia do material em texto

Tipo de Avaliação: AV3 
1.) UNIDADE 3:
Pontos:1,0 / 1,0
A estrutura de dados Pilha funciona de acordo com o seguinte fundamento básico:
 	O primeiro a entrar é o primeiro a sair.
 	O último a entrar é o último a sair.
 	O último a entrar é o primeiro a sair.
 	Tanto o primeiro como o último podem sair primeiro.
 	O primeiro a entrar é o último a sair.
	
2.) LISTAS
Pontos:0,0 / 1,0
Qual das alternativas a seguir pode definir uma estrutura de fila?
 	Entrada e saída de dados em qualquer local.
 	Entrada e saída de dados pelo início.
 	Entrada de dados pelo início e saída pelo final.
 	Entrada e saída de dados pelo final.
 	Entrada de dados pelo final e saída pelo início.
________________________________________
3.) UNIDADE 3 : PILHA
Pontos:1,0 / 1,0
A estrutura de dados linear que obedece o seguinte critério: o último elemento inserido será o primeiro elemento a ser retirado (LIFO) é:
 	lista circular.
 	árvore binária.
 	pilha.
 	fila.
 	árvore AVL.
	
________________________________________
4.) UNIDADE 3 : PILHA
Pontos:0,0 / 1,0
A estrutura de dados do tipo pilha (stack) é um tipo abstrato de dado baseada no princípio: 
 	Da localidade de referência.
 	Da indiferença.
 	First In First Out (FIFO).
 	De dividir para conquistar.
 	Last In First Out (LIFO).
________________________________________
5.) UNIDADE 3 : PILHA
Pontos:0,0 / 1,0
Quando as inserções e as remoções ocorrem sempre no mesmo lado da lista, trata-se de uma estrutura de dados denominada.
 	Pilha.
 	Vetor.
 	Lista circular.
 	Fila.
 	Lista encadeada.
	
________________________________________
6.) UNIDADE 4:
Pontos:1,0 / 1,0
Um apontador é uma variável que contém o endereço de outra variável. Apontadores são muito usados, em parte porque são, às vezes, a única forma de se expressar um processo de computação e, em parte, porque, normalmente, implicam um código mais compacto e eficiente que o obtido de outras formas. Considerando o uso de apontadores nas linguagens procedurais atuais, julgue os itens que se seguem com E se for errado e C se for certo.
( ) O uso de apontadores como argumentos de funções que realizem chamada por valor não permite alteração de seus conteúdos de memória na função.
( ) Com apontadores, é possível criar funções que retornem estruturas de dados complexas. 
( ) Para recuperar o valor da variável apontada, basta que o apontador seja atribuído a uma variável de mesmo tipo.
( ) Arranjos de apontadores podem ser usados em funções que recebam como argumentos um número variável de cadeias de caracteres.
( ) Em geral, para que um arranjo seja percorrido por um ponteiro, para cada elemento do arranjo deve-se adicionar ao ponteiro o número de bytes que o elemento ocupa em memória. 
 	b) C - C - E - E - E 
 	e) C - E - C - E - C 
 	a) E - C - E - C - E 
 	d) E - C - E - C - C 
 	c) E - E - C - C - E 
7.) UNIDADE 3:
Pontos:0,0 / 1,0
O que acontece quando tentamos retirar um elemento de uma pilha que já está vazia? 
 	Overflow.
 	Ordenação.
 	Underflow.
 	Remoção.
 	Inclusão.
________________________________________
8.) UNIDADE 3:
Pontos:0,0 / 1,0
A técnica LIFO (last in first out), utilizada em programação estruturada, é fundamentada no conceito de: 
 	Fila
 	Ponteiro
 	Pilha
 	Loop
 	Registro
9.) UNIDADE 3 :
Pontos:1,0 / 1,0
Considerando a estrutura de fila circular vista em sala, que define as seguintes operações com uma fila: 
int enfileirar(int v[], int valor, int *fim) - insere um elemento na fila indicada por v. 
int desenfileirar(int v[], int *inicio, int fim, float &valor) - remove um elemento da fila indicada por v. 
Supondo que foram realizadas as seguintes operações numa fila circular (implementada em uma estrutura linear sequencial) de números inteiros de tamanho 5, que inicialmente se encontrava vazia: 
enfileirar (minhaFila[], 10, fim);
enfileirar (minhaFila[], 20, fim);
desenfileirar (minhaFila[], inicio, fim, valor);
enfileirar (minhaFila[], 30, fim);
desenfileirar (minhaFila[], inicio, fim, valor);
enfileirar (minhaFila[], 40, fim);
enfileirar (minhaFila[], 50, fim);
enfileirar (minhaFila[], 60, fim);
desenfileirar (minhaFila[], inicio, fim, valor);
enfileirar (minhaFila[], 70, fim);
Qual a posição, dentro da estrutura linear sequencial (vetor - que representa a fila), que se encontra o último elemento inserido na fila? 
 	1
 	6
 	4
 	5
 	7
10.) UNIDADE 1
Pontos:1,0 / 1,0
O espaço necessário para a representação dos dados pode ser alocado à medida que se torne necessário, através da alocação dinâmica. Uma estrutura armazenada através de encadeamento apresenta seus nodos alocados em posições aleatórias na memória, e não lado a lado. Dessa forma, existem várias vantagens no uso de representar os dados por encadeamento. Marque a alternativa correta que apresenta estas vantagens.
 	Previsão de espaço físico, estruturas complexas, procedimentos menos intuitivos.
 	Acesso, representação, compartilhamento de memória.
 	Compartilhamento de memória, maleabilidade e facilidade para inserção e remoção de componentes.
 	Transferência de dados, gerenciamento de memória e procedimentos menos intuitivos.
 	Proteção de memória, transferência de dados, estruturas simples.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1a Questão 
Na estrutura de dados tipo pilha, há duas operações básicas para empilhamento e desempilhamento. Essas operações são conhecidas como:
PULL e POP;
PUSH e PULL;
Base e Topo;
PUSH e POP.
HEAP e POP;
2a Questão 
Um apontador é uma variável que contém o endereço de outra variável. Apontadores são muito usados, em parte porque são, às vezes, a única forma de se expressar um processo de computação e, em parte, porque, normalmente, implicam um código mais compacto e eficiente que o obtido de outras formas. Considerando o uso apontadores nas linguagens procedurais atuais, julgue os itens que se seguem com E se for errado e C se for certo.
(E) O uso de apontadores como argumentos de funções que realizem chamada por valor não permite alteração de seus conteúdos de memória na função.
(C) Com apontadores, é possível criar funções que retornem estruturas de dados complexas.
(E) Para recuperar o valor da variável apontada, basta que o apontador seja atribuído a uma variável de mesmo tipo.
(C) Arranjos de apontadores podem ser usados em funções que recebam como argumentos um número variável de cadeias de caracteres.
(E) Em geral, para que um arranjo seja percorrido por um ponteiro, para cada elemento do arranjo deve-se adicionar ao ponteiro o número de bytes que o elemento ocupa em memória.
d) E - C - E - C - C
e) C - E - C - E - C
a) E - C - E - C - E
c) E - E - C - C - E
b) C - C - E - E – E
3a Questão 
Em relação às estruturas de dados, é correto afirmar:
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, sem disciplina acesso, onde o primeiro elemento a entrar é o último a sair.
Um grafo com um único vértice e sem arestas é conhecido como dígrafo.
Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os princípios da estrutura FILO.
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, duplamente encadeada.
Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é uma característica presente nas listas duplamente encadeadas.
4a Questão 
Com relação as listas lineares sequenciais:
I - Uma lista linear sequencial é um vetor em linguagens estruturadas, também chamado de array.
II - Um elemento de uma lista linear sequencial pode ser acessado diretamente através de um índice.
III - Uma lista linear sequencial pode ter elementos de um mesmo tipo, ou de tipos diferentes.
Apenas a afirmação I está correta.
Apenas as afirmações II e III estão corretas.
Apenas as afirmações Ie III estão corretas.
Apenas as afirmações II está corretas.
Apenas as afirmações I e II estão corretas.
5a Questão 
Sobre o funcionamento da busca binária, é incorreto afirmar que dividindo seu vetor em duas metades.
Se o item for menor ao item que está na primeira posição do vetor, o item não foi encontrado.
Se o item for maior que o item que está na metade do vetor procure na segunda metade, ou seja, a da direita.
Se o item for igual ao item que está na metade do vetor, o item não foi encontrado.
Se o item for menor que o item que está na metade do vetor, procure na primeira metade, ou seja, a da esquerda.
Se o item for igual ao item que está na metade do vetor, o item foi encontrado.
6a 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 direit uma estrutura p, onde t é um apontador auxiliar.
t=p;
p->esq = p->dir;
p->dir = p->esq;
t=p->dir;
p->esq = p->dir;
p->dir = t;
p->esq = p->dir;
t = p->esq;
p->dir = t;
p->dir=t;
p->esq = p->dir;
p->dir = t;
t=p->dir;
p->dir = p->esq;
p->esq = t;
7a Questão 
Marque a alternativa que completa a definição.
Opções:
II - III - IV - I
I - III - IV - II
III - II - I - IV
VI - III - I - II
III - II - IV – I
8a Questão 
Marque a afirmativa correta para a "inserção incremental".
É um tipo de ordenação por intercalação
Os pivôs são escolhidos aleatoriamente.
É um tipo de sequenciação por intercalação.
A técnica é boa quando os dados ficam uniformemente distribuídos entre os seus compartimentos.
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
9a 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 fornecedore
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:
X, antes do Z, e Y, logo após o Z.
X, logo após o Z, e Y, logo após o X.
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.
10a Questão 
Assinale a alternativa que apresenta duas formas de passagem de parâmetros para uma rotina ou função:
Por memória e por disco.
Por teste e por reforço.
Por reforço e por referência.
Por inferência e por valor.
Por valor e por referência
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
1a Questão 
Estão entre algumas das possíveis formas de se estruturar dados:
Grafos, lista ordenada, vetores.
Grafos, algoritmos, fila.
Algoritmos, lista ordenada, vetores.
Lista encadeada, vetores, algoritmos.
Grafos, lista ordenada, algoritmos.
2a Questão 
Qual das alternativas a seguir pode definir uma estrutura de fila?
Entrada de dados pelo início e saída pelo final.
Entrada e saída de dados pelo início.
Entrada e saída de dados pelo final.
Entrada e saída de dados em qualquer local.
Entrada de dados pelo final e saída pelo início.
3a Questão 
O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?
Overflow
Underflow
Ordenação
Inclusão
Remoção
4a Questão 
A técnica LIFO (last in first out), utilizada em programação estruturada, é fundamentada no conceito de:
Loop
Pilha
Fila
Registro
Ponteiro
5a Questão 
Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde seu valor serve como referência direta a outro valor alocado em outro espaço de memória. Este tipo de dado se chama:
Variável
Endereço
Matriz
Vetor
Ponteiro
6a Questão 
Em relação às estruturas de dados, é correto afirmar:
Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é uma característica presente nas listas duplamente encadeadas.
Um grafo com um único vértice e sem arestas é conhecido como dígrafo.
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, sem disciplina de acesso, onde o primeiro elemento a entrar é o último a sair.
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, duplamente encadeada.
Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os princípios da estrutura FILO.
7a Questão 
Analise as seguintes afirmações: 
I. Na Passagem por Referência, o parâmetro que vai ser passado na chamada da função deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro também altera a variável correspondente. 
II. Uma recursão consiste em uma função chamar ela mesma com argumentos sempre do mesmo valor. 
III. Considerando-se o escopo das variáveis, é correto afirmar que uma variável é dita global quando a sua passagem no momento da chamada de uma função se dá tanto por valor quanto por referência. Uma variável é dita local quando esta passagem se dá apenas por valor. 
Indique a opção que contenha todas as afirmações verdadeiras.
somente a alternativa e II.
I e II.
II e III.
I e III.
somente a alternativa I.
8a Questão 
Suponha que uma pilha, P1, esta descrita através de uma lista encadeada como apresentado na figura a seguir:
Imagine uma segunda pilha, P2, inicialmente vazia.
Suponha ainda que, a pilha P2 fosse preenchida com os elementos removidos de P1.
Qual seria a saída apresentada na tela, caso o conteúdo da pilha P2 fosse sendo removido e, cada elemento retirado de P2, fosse apresentado na tela?
Suponha agora que ao invés da pilha P2, uma fila F1 (inicialmente vazia) fosse usada. Assim, fila F1 fosse preenchida com os elementos removidos da pilha P1.
Qual seria a saída apresentada na tela, caso o conteúdo da fila F1 fosse sendo removido e, cada elemento retirado de F1, fosse apresentado na tela?
A resposta para cada uma das perguntas respectivamente seria.
MARROCOS/SOCORRAM.
SOCORRAM/SOCORRAM.
SOCORRAM/MARROCOS.
Nada seria apresentado, pois a pilha P2, assim como a fila F1 estão vazias.
MARROCOS/MARROCOS.
9a Questão 
Considerando as definições de estruturas de dados e a declaração tipo nó :: reg (dado: inteiro; próximo: ref nó), na qual reg é um registro contendo os campos: dado, que guarda valores inteiros, e próximo, que guarda endereço de outro nó, assinale a opção correta:
O algoritmo para inclusão de elementos em uma pilha é usado sem nenhuma alteração para incluir elementos em uma lista.
Uma lista duplamente encadeada é uma lista em que o seu último elemento referencia o primeiro.
O uso de recursividade é totalmente inadequado na implementação de operações para manipular elementos de uma estrutura de dados do tipo vetor.
As listas, pilhas, filas e árvores são estruturas de dados que têm como principal característica a sequencialidade dos seus elementos.
O tipo nó é inadequado para implementar estruturas de dados do tipo pilha.
10a Questão 
Em algumas situações, principalmente na utilização de listas, há a necessidade de posicionar o ponteiro em determinado local da lista. Dessa forma, analisando o trecho de código abaixo, que mostra uma função, assinale a alternativa correta que descreve o objetivo desta. Sabe-se que o sinalde asterisco (*) sinaliza um ponteiro.
void funcao (Nodo **P){
if ( *P != NULL ){
while ( (*P) -> Anterior != NULL )
*P= (*P) -> Anterior;
}
}
Posicionar o ponteiro no meio da lista
Posicionar o ponteiro onde houver o valor NULL
Posicionar o ponteiro no início da lista
Colocar o valor NULL em todos os ponteiros
Posicionar o ponteiro no final da lista
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
1a Questão 
Um apontador é uma variável que contém o endereço de outra variável. Apontadores são muito usados, em parte
porque são, às vezes, a única forma de se expressar um processo de computação e, em parte, porque,
normalmente, implicam um código mais compacto e eficiente que o obtido de outras formas. Considerando o uso de apontadores nas linguagens procedurais atuais, julgue os itens que se seguem com E se for errado e C se for certo.
( ) O uso de apontadores como argumentos de funções que realizem chamada por valor não permite alteração de seus conteúdos de memória na função.
( ) Com apontadores, é possível criar funções que retornem estruturas de dados complexas.
( ) Para recuperar o valor da variável apontada, basta que o apontador seja atribuído a uma variável de mesmo tipo.
( ) Arranjos de apontadores podem ser usados em funções que recebam como argumentos um número variável de cadeias de 
caracteres.
( ) Em geral, para que um arranjo seja percorrido por um ponteiro, para cada elemento do arranjo deve-se adicionar ao ponteiro o número de bytes que o elemento ocupa em memória.
e) C - E - C - E - C
c) E - E - C - C - E
b) C - C - E - E - E
d) E - C - E - C - C
a) E - C - E - C – E
2a Questão 
Em programação podemos utilizar um recurso que modulariza o programa chamado função. As funções precisam ser ativadas para que possam ser executadas. Para isso, é necessário chamar a função pelo seu nome e enviar, quando necessário, os valores respectivos para os parâmetros de entrada. Ao enviar os valores para os parâmetros de entrada, o programa pode fazer uma cópia deste valor ou trabalhar em um endereço enviado. Quando se envia o endereço estamos ativando a função por meio de:
Passagem por valor.
Registro.
Ponteiros.
Envio de inteiro.
Envio de valor.
3a 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.
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;
p->esq = p->dir;
p->dir = p->esq;
t=p->dir;
p->esq = p->dir;
p->dir = t;
4a Questão 
Considere que os seguintes itens são inseridos, nesta ordem, em uma estrutura de dados: 3, 4, 7, 10, 1. Marque a alternativa correspondente ao segundo item a ser retirado caso essa estrutura de dados seja uma fila, lista e pilha, respectivamente.
4; impossível determinar; impossível determinar.
impossível determinar; 4; impossível determinar.
impossível determinar; impossível determinar; impossível determinar.
4; impossível determinar; 10.
10; impossível determinar; 4.
5a Questão 
Qual das alternativas a seguir pode definir uma estrutura de pilha?
Entrada de dados pelo início e saída pelo final.
Entrada e saída de dados em qualquer local.
Entrada e saída de dados pelo final.
Entrada e saída de dados pelo início.
Entrada de dados pelo final e saída pelo início.
6a Questão 
Marque a afirmativa correta para a "Busca ou pesquisa binária".
Consiste em adicionar um valor no vetor, mantendo a ordem existente e ajustando o total de elementos.
É o processo pelo qual um conjunto de dados é colocado em uma ordem crescente ou decrescente.
Consiste em adicionar um valor no vetor, alterando a ordem existente e ajustando o total de elementos.
Consiste em fazer uma busca em um vetor já ordenado, dividindo o espaço de busca ao meio e verificando
se o dado está no meio ou, antes do meio ou depois do meio.
Consiste em fazer uma busca em um vetor desordenado, dividindo o espaço de busca ao meio e verificando
se o dado está no meio ou, antes do meio ou depois do meio.
7a Questão 
Determinados tipos de estrutura de dados, são utilizados para implementar um algoritmo de escalonamento de
processos do sistema operacional UNIX, chamado Round Robin, onde cada processo ganha uma fatia de tempo.
Esse tipo de estrutura de dados é chamado de:
Método Bolha
Tabela Hash
Lista duplamente encadeada
Pilha
Lista encadeada
8a Questão 
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 FIFO.
Heterogêneos e com acesso LIFO.
Homogêneos e com acesso indexado-sequencial.
Homogêneos e de acesso aleatório por intermédio de índices.
Heterogêneos e com acesso indexado-sequencial.
9a Questão 
As estruturas de dados em programação são muito utilizadas para tornar o acesso aos dados mais eficiente e organizado. A estrutura de dados considerada mais simples e tem como característica apresentar apenas uma dimensão é:
Matriz
Função
Variável
Registro
Vetor
10a Questão 
Marque a afirmativa que represente uma separação.
Juntar duas listas, colocando uma lista no final de outra, obtendo, ao final, uma só lista resultante.
Alterar a ordem dos dados da lista do final para o início, atualizando a lista.
Consiste em dividir a lista em duas outras listas. A quantidade de nós que cada lista terá, depende da necessidade.
Intercalar a ordem dos dados da lista do final para o início, atualizando a lista.
Organizar os dados da lista em ordem crescente ou decrescente.
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
1a Questão 
Estão entre algumas das possíveis formas de se estruturar dados:
Grafos, lista ordenada, vetores.
Grafos, algoritmos, fila.
Algoritmos, lista ordenada, vetores.
Lista encadeada, vetores, algoritmos.
Grafos, lista ordenada, algoritmos.
2a Questão 
Qual das alternativas a seguir pode definir uma estrutura de fila?
Entrada de dados pelo início e saída pelo final.
Entrada e saída de dados pelo início.
Entrada e saída de dados pelo final.
Entrada e saída de dados em qualquer local.
Entrada de dados pelo final e saída pelo início.
3a Questão 
O que acontece ao se inserir uma informação quando já usamos toda a área disponível do vetor (topo = fim)?
overflow
underflow
ordenação
inclusão
remoção
4a Questão 
A técnica LIFO (last in first out), utilizada em programação estruturada, é fundamentada no conceito de:
Loop
Pilha
Fila
Registro
Ponteiro
5a Questão 
Na área de estrutura de dados, em determinados casos, é necessário utilizar um tipo de dado onde seu valor serve como referência direta a outro valor alocado em outro espaço de memória. Este tipo de dado se chama:
Variável
Endereço
Matriz
Vetor
Ponteiro
6a Questão 
Em relação às estruturas de dados, é correto afirmar:
Guardar endereço de memória em "nós", normalmente identificados por previous ou next, é uma característica presente nas listas duplamente encadeadas.
Um grafo com um único vértice e sem arestas é conhecido como dígrafo.
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, sem disciplina de acesso, onde o primeiro elemento a entrar é o último a sair.
LIFO refere-se à estrutura de dados do tipo pilha, que nada mais é do que uma lista linear, duplamente encadeada.
Nos sistemas operacionais, a execução dos processos concorrentes ocorre segundo os princípios da estrutura FILO.
7a Questão 
Analise as seguintes afirmações:
 I. Na Passagem por Referência, o parâmetro que vai ser passado na
chamada dafunção deve ser uma variável, de tal forma que uma alteração de valor neste parâmetro também altera a variável correspondente. 
II. Uma recursão consiste em uma função chamar ela
mesma com argumentos sempre do mesmo valor. 
III. Considerando-se o escopo das variáveis, é correto afirmar que uma variável é dita global quando a sua passagem no momento da chamada de uma função se dá tanto por valor quanto por referência. Uma variável é dita local quando esta passagem se dá apenas por valor. 
Indique a opção que contenha todas as afirmações verdadeiras.
somente a alternativa e II.
I e II.
II e III.
I e III.
somente a alternativa I.
8a Questão 
Suponha que uma pilha, P1, esta descrita através de uma lista encadeada como apresentado na figura a seguir:
Imagine uma segunda pilha, P2, inicialmente vazia.
Suponha ainda que, a pilha P2 fosse preenchida com os elementos removidos de P1.
Qual seria a saída apresentada na tela, caso o conteúdo da pilha P2 fosse sendo removido e, cada elemento retirado de P2, fosse
apresentado na tela?
Suponha agora que ao invés da pilha P2, uma fila F1 (inicialmente vazia) fosse usada. Assim, fila F1 fosse preenchida com os
elementos removidos da pilha P1.
Qual seria a saída apresentada na tela, caso o conteúdo da fila F1 fosse sendo removido e, cada elemento retirado de F1, fosse
apresentado na tela?
A resposta para cada uma das perguntas respectivamente seria.
MARROCOS/SOCORRAM.
SOCORRAM/SOCORRAM.
SOCORRAM/MARROCOS.
Nada seria apresentado, pois a pilha P2, assim como a fila F1 estão vazias.
MARROCOS/MARROCOS.
9a Questão 
Considerando as definições de estruturas de dados e a declaração tipo nó :: reg (dado: inteiro;
próximo: ref nó), na qual reg é um registro contendo os campos: dado, que guarda valores inteiros, e
próximo, que guarda endereço de outro nó, assinale a opção correta:
O algoritmo para inclusão de elementos em uma pilha é usado sem nenhuma alteração para incluir elementos em uma lista.
Uma lista duplamente encadeada é uma lista em que o seu último elemento referencia o primeiro.
O uso de recursividade é totalmente inadequado na implementação de operações para manipular elementos de uma estrutura de dados do tipo vetor.
As listas, pilhas, filas e árvores são estruturas de dados que têm como principal característica a sequencialidade dos seus elementos.
O tipo nó é inadequado para implementar estruturas de dados do tipo pilha.
10a Questão 
Em algumas situações, principalmente na utilização de listas, há a necessidade de posicionar o ponteiro em determinado local da lista. Dessa forma, analisando o trecho de código abaixo, que
mostra uma função, assinale a alternativa correta que descreve o objetivo desta. Sabe-se que o sinal de asterisco (*) sinaliza um ponteiro.
void funcao (Nodo **P){
if ( *P != NULL ){
while ( (*P) -> Anterior != NULL )
*P= (*P) -> Anterior;
}
}
Posicionar o ponteiro no meio da lista
Posicionar o ponteiro onde houver o valor NULL
Posicionar o ponteiro no início da lista
Colocar o valor NULL em todos os ponteiros
Posicionar o ponteiro no final da lista

Outros materiais