Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 

Re: Sehr dynamische Speicherverwaltung

  Alt 30. Apr 2009, 18:21
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
  Mit Zitat antworten Zitat