design frage iterator fuer trie
-
Hallo,
ich implementiere gerade eine keyword matcher. ich habe den namen einer website als input und moechte schluesselwoerter finden.
im moment habe ich einen trie implementiert der intern eine art iterator verwendet.
z.b. www.hello.ru lookup 1: w ... nicht im trie, abbrechen, naechstes zeichen lookup 2: w ... nicht im trie, abbrechen, naechstes zeichen lookup 3: w ... nicht im trie, abbrechen, naechstes zeichen lookup 4: h ... kein schluesselwoert, aber im trie lookup 5: he ... kein schluesselwoert, aber im trie lookup 6: hel ... kein schluesselwoert, aber im trie lookup 7: hello ... schluesselwoert gefunden lookup 8: hello. ... existiert nicht im trie, suche abbrechen lookup 9: e ... nicht im trie, abbrechen, naechstes zeichen lookup 10: l ... nicht im trie, abbrechen, naechstes zeichen lookup 11: l ... nicht im trie, abbrechen, naechstes zeichen usw....
der iterator sollte den trie pointer speichern, so dass ich die suche nicht vom root knoten starten muss (fuer lookup 5-8).
hier die zwei funktionen dazu: http://ideone.com/qpujaa
wie kann ich exists_key verbessern? ich finde den code verbessern, und den iterator bauen?LG
M