Ho una lista di indirizzi di memoria da 0xc0003000 a 0xc04a0144 ci sono molte lacune e < 4096 voci nella lista. È noto al momento della compilazione e voglio fare un hash perfetto per questo.quasi perfetto o perfetto hash di indirizzi di memoria in c
Tuttavia, cercare l'hashing perfetto in linea mi fornisce informazioni per lo più correlate alle stringhe di hashing e non sembrano tradurre bene.
Per essere chiari, voglio essere in grado di ottenere l'indirizzo di memoria in fase di esecuzione e controllare che sia rapidamente nell'hash. Attualmente sto usando una ricerca binaria che è in media circa 8 cicli per trovare la risposta.
Qualche idea su quale albero dovrei abbaiare?
Come su alberi bilanciati, come B-albero o rosso-nero? – Rsh
Hai provato un 'bitset'? – jxh
Penso che l'albero radix sia la migliore struttura di ricerca per la ricerca di valori interi sparsi. –