Ho bisogno di specializzare la funzione di hash per unordered_map
in modo da poter utilizzare i vettori int come chiavi. I valori dell'array sono generalmente 0 o 1, ad es. int array = {0, 1, 0, 1}
, ma tecnicamente non limitato.Funzione di hash C++ per un array int
Qualcuno può consigliare una buona funzione di hash in questo caso? In alternativa, posso sempre convertire l'array int in una stringa ed evitare la specializzazione. Ma sono preoccupato per le prestazioni poiché potrei avere diversi milioni di questi array.
Utilizzare o imitare "intervallo di hash" di Boost. Si costruisce chiamando ripetutamente 'hash_combine', che è anche in Boost e dovrebbe essere nello standard. –
Se si dispone di diversi milioni di questi array, suggerisco nuovi algoritmi/strutture dati ... – Blindy
@Blindy Quali strutture dati suggeriresti? – gewizz