![]() |
Hashtabelle oder binärer Baum in Datei
Hi,
Ich würde gerne eine ganz simple Hashtabelle oder eine Art binären Baum in einer Datei anlegen und bearbeiten können, anstatt, wie üblich, im Speicher. (So wie es auch die Datenbanken machen, glaube ich) Leider fehlt mir ein guter Ansatz dafür. Hat da jemand eine Idee oder Tip, wie man das am besten angehen kann? Danke schonmal! :) |
Re: Hashtabelle oder binärer Baum in Datei
Datenbanken arbeiten mit meist optimierten Bayer-Bäumen, nicht mit binären Bäumen oder Hashtabellen, zumindest auf Datenebene.
Nimm doch einfach eine freie kleine Datenbank (SQLLite z.B.), oder willst Du eine eigene schreiben? |
Re: Hashtabelle oder binärer Baum in Datei
Datei im Arbeitsspeicher:
- man erstelle eine Datei - mappe diese via MMF in einen Speicherbereich - nun kann man seinen binären Baum oder was auch immer, direkt im Arbeitsspeicher (über 'ne eigene Speicherverwaltung) in dieser MMF bearbeiten - und gespeichert würde automatisch |
Re: Hashtabelle oder binärer Baum in Datei
Zitat:
Dessenungeachtet verlagerst Du das Problem doch in "'ne eigene Speicherverwaltung". Wenn like2 aber auch lernen will, wie man soetwas *nicht* macht (filebasierte Hashmap bzw. Binärbau als Datastorage), dann hast du natürlich Recht. |
Re: Hashtabelle oder binärer Baum in Datei
Mich interessiert die Umsetzung, da ich irgendwie noch keine richtige Vorstellung habe, wie man sowas am besten machen kann.
Also einfach nur, wie man eine Datenstruktur auf die Festplatte bzw. in eine Datei auslagert. Ein ganz kurzer Beispielcode würde mir evtl. schon helfen :stupid: |
Re: Hashtabelle oder binärer Baum in Datei
'Enfach so' ne Datenstruktur auszulagern bringt doch nichts, denn es wird sehr sehr langsam. Und wie himitsu schon erwähnte, muss man sich 'ne Speicherverwaltung ausdenken.
Such mal nach 'B-Tree' bei Google, du findest bestimmt eine Delphi-Umsetzung. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz