Imagem de fundo

Em uma rotina de processamento de eventos de auditoria, um sistema recebe registros em ...

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 é:


A

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.


B

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.


C

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.


D

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.