Kann man in Cpp eine Hash-Tabelle realisieren??
-
Hab folgendes gefunden:
http://de.wikipedia.org/wiki/Hash-Tabelleich denke mal Hash-Tabellen sind gut geeignet für Datenbanken?!?
Nur mal rein Interesse - halber:
Kann man in Cpp eine Hash-Tabelle realisieren und wenn ja, wie??Gruß
mercer
-
Ja, kann man (in neueren Versionen von Visual Studio gibt es z.B. hash_set's etc).
Als Ansatz nimmst du dir ein entsprechend großes Grundarray und eine Hash-Funktion. Beim Einfügen berechnest du h(x) als Zieladresse des Wertes und trägst x dort ein, beim Suchen vergleichst du F[h(x)] mit x. (in beiden Fällen mußt du eventuell auf Kollisionen achten)
-
http://www.josuttis.com/libbook/stl/map1.cpp.html
Ups, ich hab nur Hash gelesen und dachte an Dict's oder Hashes aus Ruby....
Sorry.....Falscher Link....
Bitte gehen sie weiter, es gibt hier nichts zu sehen *g*
-
gut geeignet für Datenbanken sind B-Bäume
-
Wenn du VC++ hast (z.B. 2003er Version) ist im Namespace std::ext ein Hashcontainer drin. Definier dir einen typedef dafür damit du später einfacher evtl. auf eine andere Implementierung wechseln kannst.
Ansonst schau mal in Boost rein, da sind glaub ich auch welche drin, die auch in den nächsten C++ TR1 rein gekommen sind.
-
Super danke
,
gibt es vielleicht irgendwelche Tutorials/Webseiten, bei denen man sich mal nen paar Codebeispiele ansehen kann??Gruß