

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Em uma rotina de processamento de eventos de auditoria, um sistema recebe registros em ordem cronológica e precisa realizar duas operações com alta frequência: inserir novos eventos ao final da sequência e remover sempre o evento mais antigo ainda não processado. Em outra etapa do mesmo sistema, é necessário verificar rapidamente se determinado identificador de transação já foi recebido, sem percorrer sequencialmente todos os registros armazenados. Nesse contexto, a alternativa que indica CORRETAMENTE as estruturas de dados a serem empregadas no cenário descrito é:
Deve-se utilizar uma pilha para os eventos de auditoria e uma lista simplesmente encadeada para os identificadores, pois a pilha preserva a ordem cronológica de processamento e a lista garante busca em tempo constante no pior caso.
Deve-se utilizar uma fila para os eventos de auditoria e uma tabela de dispersão para os identificadores, pois a fila atende ao padrão FIFO, enquanto a tabela hash pode oferecer busca média eficiente quando há boa função de dispersão e tratamento adequado de colisões.
Deve-se utilizar uma árvore binária não balanceada para os eventos e um vetor ordenado para os identificadores, pois ambas as estruturas asseguram, independentemente da ordem de entrada, operações de inserção, remoção e busca em tempo logarítmico no pior caso.
Deve-se utilizar uma lista circular para os eventos e uma pilha para os identificadores, pois listas circulares eliminam a necessidade de controle de início e fim, e pilhas são adequadas para verificar rapidamente duplicidade de valores arbitrários.