Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Sehr dynamische Speicherverwaltung (https://www.delphipraxis.net/133365-sehr-dynamische-speicherverwaltung.html)

negaH 30. Apr 2009 18:21

Re: Sehr dynamische Speicherverwaltung
 
Eine fertige DAWG Implemetierung findest du hier in Datei Dawg.zip http://www.michael-puff.de/Developer...agen_Reddmann/.
Wenn du zu den Vokabeln keine weiteren Informationen speichern musst dann lohnt es sich für dich diesen Source zu benutzen, ist alles fix und fertig als Objekt gekapselt. Du importierst einmalig deine Vokabel Datei, lässt dann die Suffixe des DAWG komprimieren und speicherst dann das DAWG als binäre Datei. Das spätere Nachladen dieser Datei erfolgt dann in par Millisekunden und es wird auch nicht mehr 30Mb im Speicher benötigen, schätze mal eher sowas um die 6-12Mb. Du kannst dann innerhalb dieses DAWG sehr sehr effizient Suchen. Es geht dabei nicht mehr um Sekunden für 1000 Suchanfragen pro Minute mit Wildcards und Suchmasken sondern nur um Millisekunden. Implementiert habe ich auch eine sehr schnelle Kombinatorische Suche, dh. du gibts nur due Buchstaben einer Vokabel ein und das DWAG sucht alle Wörter die sich daraus bilden lassen.

Wie gesagt so lange du nur eine Wörterdatenbank benötigst ohne zusätzlich Informationen zu einem Wort/Vokabel kann ich dir das DAWG wärmstens an's Herz legen. Einarbeitungszeit ist minimal da schon Beispiele und fertige EXE vorhanden. Deine Vokabeln werden schon während des Importes in Groß- oder Kleinbuchstaben umgewandelt und Sonderzeichen werden entfernt. Das definierst du über das Mapping innerhalb des DAWG. Du kannst auch deine Vokabeln in gemsichter Groß/-Kleinschreibung speichern was dann aber bedeutet das die Komprimierungsrate innerhalb im DAWG um bis zu 50% sinkt.

Übrigens, wenn du dir die Sourcen mal genauer anschaust dann wirst du darin auch einen sehr effizienten Speichermanager, spezialisiert auf's DAWG, finden.

DAWG = directed acyclic word graph.

Gruß Hagen

TRBB 7. Mai 2009 20:18

Re: Sehr dynamische Speicherverwaltung
 
Tut mir leid, dass ich mich jetzt erst wieder melde (ich stecke zur Zeit mitten im Abi).

Schon einmal vielen Dank für die ausführlichen Antworten.
Sobald ich fertig bin mit Schule werde ich das ganze mal umsetzen, falls Probleme auftreten sollten werde ihr wieder von mir hören ;)

Also nochmal vielen Dank an euch alle.

Mfg
TRBB


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:31 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz