Buscar

Prova N2 Estrutura de Dados

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 8 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 8 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

Prévia do material em texto

Prova Estrutura de Dados 
 
1. 
Quando criamos um projeto, fazemos a declaração de variáveis para armazenar os 
dados. De acordo com Deitel e Deitel (2010, p. 105), a linguagem Java “[…] requer 
que todas as variáveis tenham um tipo. Por essa razão, o Java é referido como uma 
linguagem fortemente tipada”. 
DEITEL, P.; DEITEL, H. Java: como programar. 8. ed. São Paulo: Pearson Education 
do Brasil, 2010. 
Dessa forma, considerando nossos estudos sobre os dados primitivos em Java, qual 
dos tipos de dados a seguir podem ser considerados primitivos na linguagem Java? 
 
 
 
 
 
 
 
 
 
2. 
2. 
Existem estruturas de dados com métodos específicos para ordenação. Os conceitos 
dessas estruturas são aplicados aos algoritmos para melhorar o tempo de execução 
nas aplicações. Cada método de ordenação possui um conceito e uma forma de 
manipular os dados. Assim, analise o código abaixo: 
 
Qual a alternativa que corresponde aos conceitos de ordenação do pseudocódigo 
(imagem) acima: 
 
 
 
 
 
 
 
 
 
 
3. 
Ao inserir um nó em uma árvore binária de busca, é necessário que a característica 
fundamental do tipo de estrutura seja preservada. Assim, para qualquer subárvore que 
for considerado o nó filho da esquerda, este deve ter um valor menor que o da raiz. De 
forma similar, o nó filho da direita tem que ter um valor acima. 
A árvore de valores numéricos a seguir foi construída para que seja uma árvore binária 
de busca. Observe-a com atenção. 
 
Fonte: Elaborada pela autora, 2019. 
Agora, assinale a alternativa que contém os valores numéricos para X e Y, mantendo 
a árvore representada como uma árvore binária de busca. 
 
 
 
 
 
 
 
 
4. 
A inserção de um elemento em uma árvore binária de busca pode ser implementada 
por meio de um método recursivo. Este é aquele que tem uma chamada para o próprio 
método dentro da sua definição. Para que o algoritmo não execute indefinidamente, é 
necessário que seja inserida uma condição de parada. 
Veja o trecho de código a seguir para inserção de um nó em uma árvore binária de 
busca. 
 
Fonte: Elaborada pela autora, 2019. 
Com base no código anterior, assinale a alternativa que contém o comando que deve 
ser inserido como cláusula condicional do comando if (em destaque no código), para 
que o algoritmo tenha uma condição de parada. 
 
 
 
 
 
 
 
 
 
 
 
5. 
Um vetor ou array 
é uma estrutura de dados simples que nos auxilia no armazenamento de variáveis do 
mesmo tipo. Existe o array unidimensional, o bidimensional e o multidimensional. 
Assim, para declararmos um array, devemos especificar algumas informações, como 
nome, quantidade de posições e o tipo de dado que será armazenado. 
Sendo assim, com base em nossos estudos, como devemos percorrer 
um array bidimensional e imprimir os elementos por linha? 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6. 
O método de ordenação Insertion Sort, também conhecido como método de inserção, 
é classificado como um método simples. O funcionamento do método é percorrer os 
elementos e à medida que avança vai ordenando. Utilize esse algoritmo para 
organizar em ordem crescente um array 
unidimensional, contendo os números [5,3,8,2,6]. 
Assinale a alternativa a seguir que apresente a quantidade de trocas que serão 
realizados para ordenar o array utilizando o algoritmo Insertion Sort. 
 
 
 
 
 
 
 
 
 
 
7. 
O processo de inserção de um nó em uma árvore binária de busca viabiliza que o 
processo de busca por um elemento tenha melhor performance 
que uma busca sequencial, se os dados forem dispostos em uma estrutura mais 
simples, como um vetor. Por performance, podemos entender como o tempo para se 
encontrar o elemento e o número de comparações que precisam ser feitas, a fim de se 
achar o item procurado. 
Com base nessas informações e em nossos estudos sobre o assunto, analise os 
esquemas de árvores apresentados a seguir. 
I. 
II. 
III. 
IV. 
Agora, assinale a alternativa que contém apenas as representações com árvores 
binárias de busca. 
 
 
 
 
 
 
 
 
 
 
8. 
A complexidade de um algoritmo é calculada por meio da complexidade temporal e 
espacial, sendo na primeira o cálculo do tempo que as instruções levam para serem 
executadas em uma aplicação (utilizando as funções), e na sequência, o espaço na 
memória que o algoritmo utiliza enquanto é executado. Existem algoritmos que 
necessitam de muito mais espaço, como o Algoritmo _____________. Assinale a 
alternativa que complete o nome de algoritmo que exige mais espaço na memória. 
 
 
 
 
 
 
 
9. 
Para a definição de um nó em uma árvore, precisamos, inicialmente, encapsular a 
informação armazenada em um novo tipo de dado, ou seja, em uma nova classe Java. 
Isto é possível por meio da declaração dos atributos na classe, que nada mais são do 
que variáveis presentes em todos os objetos de determinado tipo. 
Os atributos são variáveis, posições na memória do computador que podem 
armazenar dados, formadas por quatro elementos: nome, tipo, tamanho e valor. Na 
linguagem Java, é possível, ainda, definir um modificador de visibilidade se a variável 
for um atributo da classe, sendo os valores permitidos public, private, protected 
ou default. 
A figura a seguir, por exemplo, traz a declaração de uma classe “Pergunta”, com três 
atributos: texto da pergunta, alternativas e dicas sobre como responder. Observe. 
 
Fonte: Elaborada pela autora, 2019. 
Sendo assim, assinale a alternativa a seguir que contém a inicialização correta do 
atributo “opcoesResposta” com cinco opções em um objeto do tipo “Pergunta” na 
linguagem Java. 
 
 
 
 
 
 
 
 
 
10. 
Uma estrutura de dados do tipo árvore é formada por uma série de elementos ou nós 
que são ligados entre si por meio de arestas. O processo de construção de uma árvore 
começa pela definição do nó raiz e pela inserção dos nós filhos das subárvores da 
esquerda e da direita. Considere, por exemplo, o nó formado pelo nome das áreas da 
Ciência da Computação, que são derivadas da disciplina de Estrutura de Dados: 
Laboratório de Programação I e Análise de Algoritmos. 
 
Fonte: Elaborada pela autora, 2019. 
Agora, considere o trecho de código a seguir. Veja que ele representa a criação de 
uma árvore binária, cuja informação é armazenada em uma classe “NoDisciplina”, em 
um atributo do tipo string. 
 
Fonte: Elaborada pela autora, 2019. 
Sendo assim, assinale a alternativa a seguir que realiza a inserção dos filhos da 
esquerda e da direita, conforme apresentado no esquema da subárvore.

Continue navegando