Em sistema computacional, a forma de armazenar os dados tem ...

Próximas questões
Com base no mesmo assunto
Q47335 Algoritmos e Estrutura de Dados
Em sistema computacional, a forma de armazenar os dados tem papel essencial no tempo e na quantidade de memória necessários à execução de um programa. Em relação a diferentes tipos de estruturas dinâmicas de dados, assinale a opção correta.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Opção correta: D

Tabelas de dispersão ou hash tables são estruturas de dados que utilizam uma função hash para mapear chaves a suas respectivas posições na tabela. Um aspecto negativo dessas tabelas é a possibilidade de ocorrer colisão, que é quando duas chaves diferentes são mapeadas para a mesma posição. Para tratar esse problema, são utilizadas técnicas como endereçamento aberto e o uso de listas encadeadas. O endereçamento aberto resolve a colisão procurando uma nova posição na tabela, enquanto as listas encadeadas armazenam múltiplos elementos na mesma posição, ligando-os em uma lista.

Vamos analisar as alternativas incorretas:

A - Pilhas e filas são estruturas de dados em que a inserção e remoção de dados seguem regras específicas. Em pilhas, utilizamos o princípio LIFO (Last In, First Out), onde o último elemento inserido é o primeiro a ser removido. Já nas filas, segue-se o princípio FIFO (First In, First Out), onde o primeiro elemento inserido é o primeiro a sair. Portanto, a inserção e remoção não são realizadas em posições especificadas pelo programador, mas sim, conforme esses princípios.

B - Listas ligadas, ou listas encadeadas, são, de fato, estruturas que podem ser organizadas de várias maneiras como mencionado. Entretanto, a opção correta é a D e não a B porque a definição das listas encadeadas, apesar de correta, não aborda o tema da questão sobre o tratamento de colisão em hash tables.

C - Árvores binárias são estruturas adequadas para representar hierarquias. Cada nó de uma árvore binária possui no máximo dois filhos. A descrição fornecida na alternativa está incorreta ao afirmar que cada nó pode ter "zero, um ou mais filhos", quando na verdade, em uma árvore binária, cada nó pode ter no máximo dois filhos.

E - Listas de adjacências e matrizes de adjacência são representações de grafos. Ambas permitem determinar se uma aresta pertence ou não ao grafo. A lista de adjacências faz isso ao listar os vizinhos de cada vértice, e a matriz de adjacência através de uma matriz booleana que indica a presença de arestas entre vértices. Portanto, a afirmação de que não é possível determinar se uma aresta pertence ou não ao grafo é incorreta.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Alguem sabe qual é o problema da letra A?
Acredito que seja esta parte da frase " especificadas pelo programador". A forma de inserção/remoção é inerrente a estrutura de dados não é o programador que define, caso ele alterasse esta definição não seria mais uma pilha ou fila.
a) Pilhas e filas são estruturas de dados em que a inserção e remoção de dados são realizadas em posições previamente especificadas pelo programador.

b) Listas ligadas, também chamadas listas encadeadas, podem ser organizadas de várias maneiras diferentes: simplesmente encadeadas ou duplamente encadeadas; circulares ou não circulares; ordenadas ou não ordenadas; lineares ou não lineares.

c) Árvores binárias são estruturas de dados adequadas à representação de hierarquias, e cada nó da árvore tem zero, um ou dois  mais filhos. A relação hierárquica entre seus filhos é definida por sua localização nas subárvores.
Comentários para cada item:
a) Pilhas e filas são estruturas de dados em que a inserção e remoção de dados são realizadas em posições previamente especificadas pelo programador.
FALSO: a posição para inserir ou remover um elemento em uma lista ou pilha é de acordo com a definição da estrutura: fila se inseri no início e remove no fim; e pilha se inseri e remove no topo.
b) Listas ligadas, também chamadas listas encadeadas, podem ser organizadas de várias maneiras diferentes: simplesmente encadeadas ou duplamente encadeadas; circulares ou não circulares; ordenadas ou não ordenadas; lineares ou não lineares.
FALSO: toda lista encadeada é linear.
c) Árvores binárias são estruturas de dados adequadas à representação de hierarquias, e cada nó da árvore tem zero, um ou mais filhos. A relação hierárquica entre seus filhos é definida por sua localização nas subárvores.
FALSO: Pegadinha. Os nós em uma árvore binária podem ter 0, 1 ou 2 filhos.
e) Listas de adjacências e matriz de adjacência possuem a desvantagem comum de não ser possível determinar se uma aresta pertence ou não ao grafo.
FALSO: através de matriz de adjacência é possível facilmente saber se uma aresta existe (em tempo O(1)). A partir de listas de adjacências é também possível saber, porém é menos eficiente.

[GABARITO: LETRA D]

  • A) Pilhas e filas são estruturas de dados onde a inserção e remoção seguem uma ordem específica (LIFO para pilhas e FIFO para filas), não em posições previamente especificadas pelo programador.
  • B) Listas ligadas podem ser organizadas de várias maneiras, mas a opção está correta ao dizer que podem ser simplesmente encadeadas ou duplamente encadeadas, circulares ou não, ordenadas ou não.
  • C) Árvores binárias têm a característica de que cada nó tem zero, um ou dois filhos, não "zero, um ou mais" como descrito na alternativa. A relação hierárquica é definida pela estrutura da árvore, não pela localização em subárvores.
  • D) Tabelas de dispersão ou hash tables apresentam como aspecto negativo a possibilidade de haver colisão na inserção de informações. Entre as técnicas utilizadas para tratar esse problema, inclui-se o endereçamento aberto e o uso de listas encadeadas.
  • E) Listas de adjacências e matriz de adjacência são usadas para representar grafos e ambas são eficazes para determinar se uma aresta pertence ou não ao grafo, dependendo da implementação.

Portanto, a alternativa D é a única que descreve corretamente um aspecto importante das tabelas de dispersão e das técnicas para resolver colisões

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo