Questão
A Manga Rosa abriu o processo seletivo para uma vaga de trainee na área de engenharia. A compreensão das estruturas de dados corretas para os problemas que eles enfrentam é fundamental. Eles estão à procura de uma estrutura de dados que permita um acesso rápido na leitura dos dados, ou seja, a complexidade da leitura deve ser O(1). Essa coleção de dados não vai crescer muito ao longo do tempo, mas tem a possibilidade de ter elementos que sejam removidos dela. O principal ponto de decisão para o uso dessa estrutura é justamente a velocidade de acesso. A estrutura também deve fornecer um método para busca linear de um dado interno da coleção. Além disso, apresenta uma facilidade de implementação.\n\nDe acordo com esse contexto, qual das estruturas de dados abaixo melhor descreve resolvem o problema da Manga Rosa?\n\nA) Fila Encadeada\nB) Tabela Hash\nC) Arrays\nD) Lista Estática\nE) Mapa
B
A Tabela Hash é a estrutura de dados que melhor atende aos requisitos descritos. Ela permite acesso rápido aos dados com complexidade O(1) para operações de leitura, desde que a função hash seja bem projetada. Além disso, a Tabela Hash permite a remoção de elementos e pode realizar buscas lineares através de iteração sobre os buckets. As outras opções não oferecem a mesma eficiência de acesso e remoção: \n- Fila Encadeada (A) e Lista Estática (D) não oferecem O(1) para acesso aleatório.\n- Arrays (C) têm acesso O(1), mas não são eficientes para remoção de elementos.\n- Mapa (E) é uma abstração que pode ser implementada com Tabelas Hash, mas por si só não garante O(1) para acesso.