Ich habe eine Liste von Speicheradressen von 0xc0003000 bis 0xc04a0144 gibt es viele Lücken und < 4096 Einträge in der Liste. Es ist zur Kompilierzeit bekannt und ich möchte einen perfekten Hash dafür machen.fast perfekte oder perfekte Hash der Speicheradressen in c
Aber nachschlagen perfekt Hashing online gibt mir Informationen, die meisten im Zusammenhang mit Hashing-Strings und sie scheinen nicht gut zu übersetzen.
Um klar zu sein Ich möchte in der Lage sein, die Speicheradresse zur Laufzeit zu erhalten und zu überprüfen, dass es im Hash schnell ist. Momentan verwende ich eine binäre Suche, die im Durchschnitt etwa 8 Schleifen enthält, um die Antwort zu finden.
Irgendwelche Ideen welchen Baum ich bellen sollte?
Wie wäre es ausgeglichene Bäume, wie B-Baum oder rot-schwarz? – Rsh
Haben Sie ein 'Bitset' versucht? – jxh
Ich denke, der Radix-Baum ist der beste Suchbaum für die Suche nach Sparse-Integer-Werten. –