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