Auf grösse beschränktes Hash?
-
Hallo,
ich bräuchte sowas wie ein auf Grösse beschränktes Hash_Table. Gibt es sowas in C++ ?
Ich weiß dass es von der /ext/hash_map.h hash-tables gibt, aber die sind glaube ich nicht auf grösse beschränkt oder?Mir fällt jetzt auch nix anderes ein als sonst selbst hand anzulegen, was aber bei meinem Wissenstand wohl eher in sehr sehr viel Arbeit ausufern würde und wohl nicht so schnell sei wie gehofft....
weiß jemand rat?
-
Ich weiß jetzt nicht genau was du mit Größe
beschränken meinst (Speicherplatz schätze ich mal).Aber vll. käme es in Frage von einer Hash-Map-Klasse
deine eigene beschränkte Variante private abzuleiten.Das erspart dir einiges an Arbeit.
-
ja genau ich meine das hash-table auf grösse beschränken.
Woher bekäme ich denn so eine Hash-Map-Klasse?

-
Also ich glaube von google gibt es eine effiziente implementierung - allerdings komme ich mit der verwendung bis jetzt überhaupt nicht klar und ich weiß auch nicht ob ich hier die möglichkeit habe das hash-table auf grösse zu beschränken...kann mir jemand behilflich sein ?

-
Generell gibt es keine Hash-Map, bei welcher man die Speichergröße einschränken kann.
Dies muß dann schon der Anwendungsprogrammierer machen, da es ja ein Entscheidungskriterium geben muß, was dann passieren soll.
Entweder es werden keine neuen Daten hinzugefügt oder aber es werden vorhandene Daten gelöscht (aber welche?).
Die Größe der Map läßt sich aber jederzeit mit size() abfragen.
-
Gehts hier um die Anzahl der Elemente oder um die Grösse des Hash-Tables?
Die Anzahl der Elemente lässt sich ganz einfach begrenzen -- indem man einfach nicht mehr reinsteckt. Die Grösse des Hash-Tables lässt sich bei einigen Implementierungen auch vorgeben, bei anderen wieder nicht.
-
es geht um die grösse des hash-tables
bei welchen implementierungen lässt sie sich denn vorgeben?
-
Hm. Bei CMap (MFC) kann man zumindest die initiale Grösse festlegen (InitHashTable).
Ansonsten: schnapp dir eine open source Implementierung mit ausreichend "liberaler" Lizenz und hack das Feature rein.