Domanda

Mi chiedevo se esistesse un algoritmo efficiente per il calcolo della "modalità di rotolamento di una serie di numeri interi.

Con la modalità di rotolamento intendo che abbiamo una serie di numeri interi di taglia $ n $ e una finestra scorrevole di dimensioni $ k $ e vogliamo calcolare la modalità per ogni finestra nell'array.
C'è un algoritmo per farlo in $ o (n*k) $, usando una tabella hash in cui memorizziamo la frequenza di ciascun numero intero. Possiamo aggiornare questa struttura in $ O (1) $ tempo, ma per trovare l'intero con frequenza massima, abbiamo bisogno di $ O (k) $ che dà il tempo di esecuzione totale.
Mi chiedevo se esistesse un algoritmo più veloce (forse una struttura di dati che può indicizzare i valori sia per frequenza che per valore).

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top