Uma empresa coleta eventos de sensores IoT. Cada evento contém um identificador, o horário e um valor agregado ao evento:
• Identificador do sensor
• Data e hora do evento
• Valor agregado
Para monitorar algumas atividades, é gerado um relatório que indique a quantidade de eventos para os quais o valor agregado está acima de um limite.
Considerando uma lista de eventos, onde cada evento é representado por uma tupla con tendo os seguintes dados (sensor_id, timestamp, valor) e uma lista de sensores, temos a seguinte implementação para essa tarefa:
def gerar_relatorio(eventos, sensores, limite): relatorio = []
for sensor_id in sensores: total = 0
for evento in eventos: if evento[0] == sensor_id and evento[2] > limite:
total += 1 relatorio.append((sensor_id, total))
return relatorio
Sabendo que:
• A lista de eventos possui N registros (na ordem de milhões de eventos);
• A lista de sensores contém S sensores (na odem de centenas de sensores);
• Cada evento pertence a um sensor específico. Analise a complexidade assintótica do algoritmo e selecione a alternativa correta.