Buscar

Atividade 02 - 10 de 10

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 6 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 6 páginas

Prévia do material em texto

Na lista duplamente encadeada, cada nó possui um ponteiro para o nó predecessor e 
outro para o nó sucessor, podendo ou não ter um nó cabeça. Para tanto, é necessário 
declarar duas variáveis para conter os valores desses nós. Analise o código a seguir: 
 
public class No { private No anterior; private No proximo; private String valor; public void 
setValor(String valor) { this.valor = valor; } public String getValor() { return valor; } public void 
setAnterior(No anterior) { this.anterior = anterior; } public No getAnterior() { return 
anterior; } public void setProximo(No proximo) { this.proximo = proximo; } public No getProximo() 
{ return proximo; } } 
 
 
 
Considerando essas informações e o código apresentado, analise as afirmativas a 
seguir. 
 
I. Na classe No, são declaradas duas variáveis de acesso irrestrito do tipo No, para 
manipular o nó predecessor e sucessor da lista encadeada. 
II. Na classe No, as seguintes ações são realizadas: definição da classe, definição dos 
valores dos nós e definição dos retornos dos nós. 
III. Na classe No, são declaradas duas variáveis do tipo No para manipular o nó 
predecessor e sucessor da lista encadeada. 
IV. A classe Lista permite percorrer os nós da lista, atribuindo valores a cada nó. 
 
 
 
Listas encadeadas são estruturas de dados lineares e dinâmicas. A grande vantagem 
que elas possuem em relação ao uso de vetor é o fato de terem tamanho máximo 
relativamente infinito (o tamanho máximo é o da memória do computador), ao mesmo 
tempo em que podem ter o tamanho mínimo de 1 elemento, evitando o desperdício de 
memória. 
 
Considerando essas informações e o conteúdo estudado sobre a implementação de 
listas, analise as afirmativas a seguir. 
 
I. As listas duplamente encadeadas se diferenciam das listas simplesmente 
encadeadas pelo fato de, na primeira, os nós da lista formarem um anel com o último 
elemento ligado ao primeiro da lista. 
II. Na implementação das listas com encadeamento simples, os elementos da lista 
possuem informações de seu predecessor. 
III. Ao implementar listas com encadeamento duplo, cada elemento possui duas 
informações: a informação de quem é seu sucessor e predecessor. 
IV. Em algumas implementações, uma lista vazia pode ter um único nó, chamado de 
sentinela, nó cabeça ou header. 
 
Agora, assinale a alternativa que apresenta a sequência correta: 
 
 
 
Para percorrer seus elementos, são visitados todos os elementos a partir do ponteiro 
do elemento inicial, até que sejam alcançados novamente esse mesmo elemento, 
sendo construído com encadeamento duplo. Desta forma, o que seria o último 
elemento da lista passa a ter como próximo o primeiro elemento, que, por sua vez, 
passa a ter o último como anterior. 
 
Considerando essas informações e o conteúdo estudado sobre listas encadeadas, 
pode-se afirmar que a afirmação se refere a que tipo de estrutura de dados? 
 
~Sua resposta está correta. Conforme apresentado no conteúdo, as listas circulares 
têm propriedades de lista dupla e simplesmente encadeada, com uma característica 
adicional para o deslocamento na lista, pois este tipo de lista não tem um ponto final. 
 
 
 
Definimos uma lista como uma sequência finita e ordenada de itens de dados 
conhecidos como elementos, de modo que cada elemento tenha uma posição na lista, 
que pode ser indicada por um ponteiro, sendo composta por células que apontam para 
o próximo elemento dessa lista. 
 
Considerando essas informações e o conteúdo estudado sobre a lista, 
analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) 
falsa(s). 
 
I. Em uma lista, o número de elementos armazenados é chamado de comprimento da 
lista. 
II. As listas classificadas têm seus elementos posicionados em ordem crescente de 
valor, de forma a ter o valor de seus elementos relacionado com sua posição na lista. 
III. O início da lista é chamado de cabeçalho, o final da lista é chamado de cauda. 
IV. As listas simplesmente encadeadas têm dois ponteiros, que indicam seus 
elementos sucessores e antecessores. 
 
~Sua resposta está correta. Conforme apresentado no conteúdo, as listas encadeadas 
têm um início e um fim definidos, denominados cabeçalho e cauda, sendo que seu 
comprimento corresponde ao número de elementos que existem na lista. A lista ainda 
pode ter seus dados classificados e relacionados com sua posição na lista. 
 
 
 
Existem muitas especificidades pertinentes a linguagem Java que podem induzir o 
desenvolvedor a cometer erros sutis. Um exemplo clássico é declaração de múltiplas 
variáveis de array em uma única declaração é um exemplo. 
 
 
Agora analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) 
falsa(s). 
 
I. ( ) Na declaração array: int[ ] a, b, c, todas as variáveis estão declaradas como 
variáveis do tipo arrays de inteiro. 
II. ( ) Na declaração array: int[ ] a, b, c, a variável a está declarada como um array de 
inteiros e as demais variáveis b e c, são declaradas como tipos básicos inteiros. 
III. ( ) Na a declaração int a[ ], b, c a variável a é uma variável do tipo array e as 
demais são do tipo int. 
IV. ( ) Uma forma simplificada de declaração variável de arrays é utilizar a classe 
Arraylist e declarar as variáveis desejadas de forma sequencial. 
 
 
 
Uma estrutura de dados (ED), em ciência da computação, é uma coleção tanto de 
valores (e seus relacionamentos) quanto de operações (sobre os valores e estruturas 
decorrentes). É uma implementação concreta de um tipo abstrato de dado (TAD) ou 
um tipo de dado (TD) básico ou primitivo. 
 
Considerando essas informações e o conteúdo estudado sobre a classificação das 
estruturas de dados, podemos classificar as estruturas de dados complexas de acordo 
com as seguintes opções: 
 
I. Lineares e não lineares. 
II. Homogêneas e não homogêneas. 
III. Estáticas e dinâmicas. 
IV. Primitivas e não primitivas. 
 
Está correto apenas o que se afirma em: 
 
~Sua resposta está correta. Conforme apresentado no conteúdo, estamos falando de 
estruturas complexas, que podem ser classificadas em: lineares, não lineares, 
homogêneas e não homogêneas, estáticas e dinâmicas. 
 
 
 
A estrutura de dados é uma maneira de armazenar e organizar dados de forma que as 
operações possam ser realizadas aumentando a eficiência em relação ao tempo e à 
memória. De forma geral, a estrutura de dados é usada para reduzir a complexidade 
(principalmente o tempo) do código. As estruturas de dados podem ser de dois tipos: 
estrutura estáticas de dados ou estruturas dinâmicas de dados. 
 
Considerando essas informações e o conteúdo estudado sobre estruturas de dados, 
analise as afirmativas a seguir. 
 
I. Na estrutura de dados estática, o tamanho da estrutura é fixo. O conteúdo da 
estrutura de dados pode ser modificado, mas sem alterar o espaço de memória 
alocado para ele. 
II. O vetor é uma estrutura estática de dados, sendo um objeto recipiente que contém 
um número fixo de valores de um único tipo. O comprimento de um vetor é 
estabelecido quando o vetor é criado. 
III. Na estrutura dinâmica de dados, o tamanho da estrutura não é fixo e pode ser 
modificado durante as operações realizadas nela. 
IV. Estruturas estáticas de dados são projetadas para facilitar a mudança de estruturas 
de dados em tempo de execução. 
 
Está correto apenas o que se afirma em: 
~Sua resposta está correta. Conforme apresentado no conteúdo, estruturas de dados 
estáticas como os vetores são reconhecidas por terem um tamanho fixo e dados do 
mesmo tipo, que podem ser alterados sem mudar o espaço em memória. Esta é sua 
principal diferença em relação aos dados dinâmicos, pois essa estrutura é projetada 
para facilitar a mudança de dados em tempo real. 
 
 
 
 
 
A lista circular encadeada é uma variaçãoda lista encadeada, na qual o primeiro 
elemento aponta para o último elemento e o último elemento aponta para o primeiro 
elemento. Tanto a lista simplesmente encadeada como a lista duplamente encadeada 
podem ser transformadas em uma lista encadeada circular. A rigor, neste caso, não 
faz sentido falarmos em primeiro ou último elemento. 
 
Considerando essas informações e o conteúdo estudado sobre listas circulares 
encadeadas, pode-se afirmar que: 
 
~Sua resposta está correta. Conforme apresentado no conteúdo, a lista circular é uma 
espécie de lista simplesmente e duplamente 
encadeada, com uma característica adicional para o deslocamento na lista, "ela não 
tem fim". Para tornar a lista interminável, o ponteiro seguinte do último elemento 
apontará para o primeiro elemento da lista, em vez do valor null, como vimos no caso 
das listas simplesmente e duplamente encadeadas. 
 
 
 
Existem dois tipos de exceções que, normalmente, surgem de erros de programação 
com matrizes: um deles é tentar usar uma variável de array antes que ele seja 
alocado, e o outro é tentar acessar uma matriz fora de seus limites. 
 
Considerando essas informações e o conteúdo estudado sobre arrays, pode-se 
afirmar que, para o último caso descrito no elemento-base, o tipo de erro apresentado 
é: 
 
 
 
Uma lista duplamente encadeada permite o acesso de um nó da lista ao próximo e 
também ao nó precedente da lista. Trata-se de uma extensão simplesmente 
encadeada e é mais utilizada do que ela (lista simplesmente encadeada) nos códigos. 
 
Considerando essas informações e o conteúdo estudado sobre listas encadeadas, 
analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) 
falsa(s). 
 
I. O código para a implementação da lista duplamente encadeada demanda mais 
controles de implementação do que a lista simplesmente encadeada, mas permite 
maior navegabilidade entre nós. 
II. Para a implementação de uma lista duplamente encadeada, é necessária a 
utilização do nó cabeça e do nó cauda. 
III. Na implementação da lista duplamente encadeada, os nós cabeça e cauda são 
criados na primeira operação de inclusão. 
IV. O objetivo dos nós cabeça e cauda é simplificar as operações, eliminando a 
necessidade de código de caso especial quando a lista está vazia. 
 
Agora, assinale a alternativa que apresenta a sequência correta:

Continue navegando