structure library
Eray Ozkural
eozk at bicom-inc.com
Wed Jan 8 23:51:03 UTC 2003
Hi Roland,
QDict lacks the scalability and storage characteristics usually associated
with "dictionary" datatype (meaning one that stores a set of strings, not one
that stores atomic datatypes). I didn't read the source code, but from the
documentation it doesn't seem to be using a trie, and that's what I'm
implementing.
The trie isn't the optimal data structure for this purpose, the optimal one is
actually a graph (representing a certain automata, it was published sometime
in 2000 or 2001) and I don't have the time to implement that. The second best
thing is a trie, it is one of those things that sophomore CS students might
be given as projects. This code I had implemented while working on an
advanced algorithm and I will contribute it because it was fast and pretty
generic, and in C++.
For very small dictionaries I would expect QDict to be slightly faster.
I would be willing to implement other harder algorithms that might be of
utility, for instance does anyone need a priority queue or a k-d tree? As an
algorithms person, I don't like dealing with graphics-only things too much
but such things are entertaining for me.
Two other structures that popped into my mind were a decent tree and graph
datatype together with a framework for graphically interacting with them but
that is a more distant project. I expect to use that for various plugins in
the future.
The current trie code is definitely more easier than a decent graph
implementation with visualization code. I will utilize it by converting some
QDict code in kdevelop to KDict code.
At least I'm back in HEAD :)
Thanks,
--
Eray Ozkural <eozk at bicom-inc.com>
Software Engineer, BICOM Inc.
GPG public key fingerprint: 360C 852F 88B0 A745 F31B EA0F 7C07 AE16 874D 539C
More information about the KDevelop-devel
mailing list