Prévia do material em texto
ESTRUTURA DE DADOS
5a aula Lupa
Disciplina: CCT0826 - ESTRUTURA DE DADOS
1
Questão
__________________________ é uma lista linear em que a alocação de memória pode ser estática, e
que a forma de armazenamento é contígua ou sequencial na memória. Usamos este tipo de lista quando
se tem em mente um tamanho pré-definido, ou seja, quando se sabe até onde a lista pode crescer.
Lista Linear Sequencial
Lista Linear de Alocação de Memória
Lista Linear Não Sequencial
Lista Linear Não Alocada
Lista Não Linear
Respondido em 21/09/2020 19:24:47
2
Questão
for (int i = 0; i < n; i++)
cout << L[i] << endl;
for (int i = 0; i < n; i++)
cout << L.matricula[i] << " " << L.nome[i] << endl;
for (int i = 0; i < n; i++)
cout << L[i].matricula << " " << L[i].nome << endl;
for (int i = 0; i < n; i++)
cout << L[i].matricula << " " << L[i].nome[30] << endl;
for (int i = 0; i < n; i++)
javascript:diminui();
javascript:aumenta();
cout << L.matricula << " " << L.nome << endl;
Respondido em 21/09/2020 19:23:55
Gabarito
Comentado
3
Questão
As estruturas de dados são utilizadas para manter dados ou informações organizados na memória, o que
possibilita a otimização do uso destes dados. Porém, as estruturas guardam características especiais na
manipulação destes dados, assim deve-se escolher a estrutura certa ou mais adequada para uma
determinada aplicação. Portanto marque a opção que representa a melhor estrutura, quando se tem como
requisitos principais o acesso aleatório aos dados e alocação destes de forma contínua na memória.
Lista Encadeada
Pilha Encadeada
Lista Sequencial
Fila Sequencial
Pilha Sequencial
Respondido em 21/09/2020 19:27:04
Gabarito
Comentado
4
Questão
Considere as seguintes afirmações: I. Só podemos ter uma matriz de no máximo duas dimensões.
Exemplo: C[100][100]. II. Ao declararmos um vetor int A[10], se escrevemos A[2] acessamos o
segundo elemento do vetor. III. Uma string declarada como char B[30] armazena no máximo 30
caracteres. Escolha a alternativa correta:
Estão corretas apenas as afirmativas I e III.
Está correta apenas a afirmativa I.
Nenhuma afirmação está correta.
Está correta apenas a afirmativa II.
Estão corretas apenas as afirmativas I e II.
Respondido em 21/09/2020 19:28:19
Explicação:
Analisando cada afirmativa :
I. Só podemos ter uma matriz de no máximo duas dimensões. Exemplo: C[100][100].
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=4107083001&cod_hist_prova=205794770&pag_voltar=otacka
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=4107083001&cod_hist_prova=205794770&pag_voltar=otacka
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=4107083001&cod_hist_prova=205794770&pag_voltar=otacka
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=4107083001&cod_hist_prova=205794770&pag_voltar=otacka
Falso. Podemos ter matrizes unidimensionais, tridimensionais, etc...
II. Ao declararmos um vetor int A[10], se escrevemos A[2] acessamos o segundo elemento do vetor.
Falso. Em C++ o índice inicial é zero. Logo, A[2] é o elemento de índice 2, ou seja, o 3o. elemento do
vetor.
III. Uma string declarada como char B[30] armazena no máximo 30 caracteres. Escolha a alternativa
correta:
Falso. B pode armazenar no máximo 29 caracteres que sejam dados, pois existe uma área para o
caracter nulo.
Logo, todas as opções são falsas.
5
Questão
Considere as seguintes afirmações sobre Listas Sequenciais:
I - São estruturas lineares que utilizam as primeiras posições de um vetor para armazenar os dados de
interesse.
II - São compostas pelo conjunto dos dados que se deseja armazenar e por uma variável inteira que
indica a quantidade de dados armazenados.
III - Os dados são sempre inseridos ou removidos no final da lista, tomando-se o cuidado de atualizar a
quantidade de dados da mesma.
IV - A lista pode admitir ou não admitir que haja dados repetidos (listas podem ser com ou sem
repetição).
Marque a opção que contém apenas todas as afirmações verdadeiras:
I, II
I, II, III, IV
I, II, III
I, III, IV
I, II, IV
Respondido em 21/09/2020 19:29:38
Explicação:
Analisando cada afirmativa :
I - São estruturas lineares que utilizam as primeiras posições de um vetor para armazenar os dados de
interesse.
Verdadeiro. As inserções vão ocorrendo do início do vetor (índice zero) em direção ao fim.
II - São compostas pelo conjunto dos dados que se deseja armazenar e por uma variável inteira que
indica a quantidade de dados
armazenados.
Verdadeiro. Armazenam-se os dados e controla-se a quantidade de dados na lista.
III - Os dados são sempre inseridos ou removidos no final da lista, tomando-se o cuidado de atualizar a
quantidade de dados
da mesma.
Falso. A inserção pode ser no início, no meio ou no final da lista. Na verdade, pode ocorrer inserção e
remoção em qualquer posição.
IV - A lista pode admitir ou não admitir que haja dados repetidos (listas podem ser com ou sem
repetição).
Verdadeiro. Uma lista pode ou não ter dados repetidos.
Resposta certa : As afirmativas I, II, IV estão certas
6
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
Vetor
Função
Variável
Registro
Respondido em 21/09/2020 19:28:26
Gabarito
Comentado
7
Questão
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=4107083001&cod_hist_prova=205794770&pag_voltar=otacka
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=4107083001&cod_hist_prova=205794770&pag_voltar=otacka
Considere uma lista com n livros, em que cada livro é modelado pela struct :
struct Livro {
string titulo, editora, autor;
float preco;
};
A função X abaixo
void X (Livro v[ ], int &n, Livro L)
{
v[n] = L;
n++;
cout << "Operação realizada com sucesso.";
}
implementa a operação de :
Busca
Substituição
Inserção
Ordenação por inserção
Inicialização
Respondido em 21/09/2020 19:31:44
Gabarito
Comentado
8
Questão
São métodos ou algoritmos conhecidos de ordenação de dados por troca:
bubble sort e quicksort.
hashing e bubble sort.
quicksort e hashing.
ordenação shell e hashing.
busca por ordenação e ordenação shell.
Respondido em 21/09/2020 19:29:50
Explicação:
Bubble sort é o algoritmo mais simples, mas o menos eficientes. Neste algoritmo cada elemento da
posição i será comparado com o elemento da posição i + 1, ou seja, um elemento da posição 2 será
comparado com o elemento da posição 3. Caso o elemento da posição 2 for maior que o da posição 3,
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=4107083001&cod_hist_prova=205794770&pag_voltar=otacka
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=4107083001&cod_hist_prova=205794770&pag_voltar=otacka
eles trocam de lugar e assim sucessivamente. Por causa dessa forma de execução, o vetor terá que ser
percorrido quantas vezes que for necessária, tornando o algoritmo ineficiente para listas muito grandes.
O Quicksort é o algoritmo mais eficiente na ordenação por comparação. Nele se escolhe um elemento
chamado de pivô,a partir disto é organizada a lista para que todos os números anteriores a ele sejam
menores que ele, e todos os números posteriores a ele sejam maiores que ele. Ao final desse processo o
número pivô já está em sua posição final. Os dois grupos desordenados recursivamente sofreram o
mesmo processo até que a lista esteja ordenada.
javascript:abre_colabore('38403','205794770','4107083001');