Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — UFSCAR 2023

Algoritmos e Estrutura de DadosEstrutura de Dados
Código
qg046202
Banca
UFSCAR
Órgão
UFSCAR
Ano
2023
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Analise as afirmativas:I. Java possui classes nativas para implementação de matrizes, listas, pilhas e filas. Isso aumenta a produtividade e reduz a dependência de pacotes de terceiros.II. Listas e filas são estruturas de dados similares. O que as diferencia é o protocolo de adição e remoção de elementos. Listas podem ter elementos inseridos ou removidos de qualquer posição, enquanto, nas filas, os elementos são inseridos no final e removidos do início.III. Além das listas, Java disponibiliza uma estrutura chamada “array”. Essa estrutura armazena dados de um mesmo tipo. Diferente de uma lista, que pode ter seu tamanho alterado, um array tem seu tamanho definido na sua criação. Um array que possui outros arrays em suas posições é chamado de array multidimensional.IV. Filas são implementadas utilizando-se o protocolo FIFO (first-in-first-out), ou seja, o primeiro a entrar é o primeiro a sair. Esse protocolo é mantido mesmo que a fila implementada tenha prioridades diferentes para os elementos.É correto o que se afirma em:
  1. AIII e IV
  2. BI e II
  3. CII e IV
  4. DI e IV
  5. EII e III
Revelar gabarito e comentário

GabaritoE — II e III

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Estruturas de dados em Java

Gabarito: letra E (afirmativas II e III). A questão testa o conhecimento sobre as estruturas de dados disponíveis em Java, seus comportamentos e conceitos fundamentais. A afirmativa I está incorreta, pois Java não possui classes nativas para matrizes (apenas arrays); a IV está incorreta porque filas com prioridade (priority queue) não seguem FIFO.

Afirmativa

Status

Justificativa

I

❌ Incorreta

Java não possui classes nativas para matrizes; matrizes são implementadas por arrays bidimensionais (int[][]), que são construções da linguagem, não classes.

II

✅ Correta

Listas permitem inserção/remoção em qualquer posição; filas seguem FIFO (inserção no final, remoção no início).

III

✅ Correta

Arrays têm tamanho fixo e armazenam dados de um mesmo tipo; arrays que contêm outros arrays são chamados de arrays multidimensionais.

IV

❌ Incorreta

Filas com prioridade (PriorityQueue) não seguem FIFO; o elemento de maior prioridade é removido primeiro, independentemente da ordem de chegada.

1Listas
Inserção/remoção em qualquer posição
ArrayList, LinkedList
2Filas
FIFO (Queue)
PriorityQueue (não FIFO)
3Pilhas
LIFO
Stack, Deque
4Arrays
Tamanho fixo
Mesmo tipo
Multidimensional (int[][])
5Matrizes
Não há classe nativa
Implementada como array bidimensional
Estruturas de dados em Java
LEVELsoulevel.com.br
Estruturas de dados em Java: Listas (Inserção/remoção em qualquer posição, ArrayList, LinkedList); Filas (FIFO (Queue), PriorityQueue (não FIFO)); Pilhas (LIFO, Stack, Deque); Arrays (Tamanho fixo, Mesmo tipo, Multidimensional (int[][])); Matrizes (Não há classe nativa, Implementada como array bidimensional)

Afirmativa I — ❌ Incorreta

Java possui classes nativas para listas (ArrayList, LinkedList), pilhas (Stack, Deque) e filas (LinkedList, ArrayDeque), mas não possui uma classe nativa específica para matrizes. Matrizes são implementadas por arrays bidimensionais (int[][]), que são construções da linguagem, não classes. A afirmação de que existem "classes nativas para implementação de matrizes" é enganosa.

Afirmativa II — ✅ Correta

Listas e filas são estruturas lineares. A diferença está no protocolo de inserção/remoção: listas permitem adicionar ou remover elementos em qualquer posição; filas seguem o protocolo FIFO (First-In, First-Out), onde a inserção ocorre ao final e a remoção no início.

Afirmativa III — ✅ Correta

Java oferece o tipo array ([]), que armazena elementos de um mesmo tipo e tem tamanho fixo definido na criação. Diferentemente das listas (como ArrayList), que podem crescer dinamicamente. Um array que contém outros arrays é chamado de array multidimensional (ex.: int[][]).

Afirmativa IV — ❌ Incorreta

Filas tradicionais (Queue) implementam FIFO. Porém, quando há prioridades diferentes entre os elementos, utiliza-se uma fila de prioridade (PriorityQueue), que não mantém a ordem FIFO: o elemento de maior prioridade (menor valor, conforme o comparador) é removido primeiro, independentemente da ordem de chegada. Portanto, o protocolo FIFO não é mantido em filas com prioridades.

Conclusão: Apenas as afirmativas II e III estão corretas, o que corresponde à alternativa E.

Gabarito: letra E

Link permanente: /questoes/qg046202