H
nwp3 schrieb:
Mit einem DFA geht es schneller als mit einem unordered_set.
Ok, das sieht aber schon aufwendiger aus vor allem weils das nicht in der std lib gibt... Aber ich werd mir das mal anschauen, danke.
volkard schrieb:
Kannst annehmen, daß sie es in O(1) packt. Es ist nicht garantiert, aber schon sehr wahrscheinlich.
Ok, das ist schonmal gut zu wissen.
volkard schrieb:
Die Keywords SIND vertrauenswürdig. Nicht vertrauenwürdig wäre, wenn Du fremden Nutzern die Möglichkeit einräumst, zur Laufzeit die Hashtable zu befüllen.
Ja, also deswegen könnte ich die theoretisch auch gruppieren. Es gibt einen (relativ großen) Satz feste keywords die sich nicht ändern und eine (theoretisch) beliebige Anzahl an dynamischen keywords die zur Laufzeit vom Benutzer erzeugt werden können.
volkard schrieb:
Kannst auch lookups mit O(1) erzwingen, perfect hashing oder cockoo hastables, wird aber nicht nötig sein. Wirsr nichmal den Unterschied zwischen unordered_set und set bemerken können.
Damit Du nicht googlen musst:
cuckoo hashing: http://de.wikipedia.org/wiki/Kuckucks-Hashing
perfect hashing: Du probiert so lange Formeln aus, bis Du eine einfache Formel hast, die jedes keyword auf einen anderen Platz legt. Zum Beispiel bei "Ich" "Du" "Ice" einfach returen {letzter Buchstabe}-'a' modulo 3, und da steht das Wort nochmal, ums mit der Eingabe vetgleichen zu können.
Ok, danke schonmal für den Link und die Infos.
volkard schrieb:
Deswegen beginnen alle meine Programme mit
#define i hujhdjghaskgfhkgfgfhjdfgfhzgfuzgfhjfagzufgshjkfagzfuagzhsdugauzgdaufkgbefzufegfuzfghzfdujgzufdasgzeaugfzufdasgzufasdgfdahuzdagbzufdasgasuzadsgzsdaugzufagfauzafdgzudasfgauzdasfgzufdasgaszuofdasgdshufalgazuagasuzoadsgfzudasfolgauzolasfgzouagzudasfogasdzuoafgzuafolgauol
Hm, ist das ein Witz?
Oder hat das einen Sinn sowas zu machen?