finding algorithms
Dear lazyweb, I recently found myself having a set of Unicode strings (in main memory) and the desire to search all of them for a particular prefix (not substring). For bonus points, let's say I want to do it in parallel (seems like an easily parallelizable problem, although at worst you can divide-and-conquer for a given number N of processors). The constraints are that the set of strings can change, but not very often usually. I don't want too large of a hit to compute tables and the like though.
The real question is - how do you find papers (and implementations thereof) for computer science problems like this? My first instinct was to get an ACM subscription, which I did. Their search turns out to be mediocre, and then I discovered Wikipedia has useful pages on these kinds of things. Wikipedia also has the winning feature of linking to quality free software implementations thereof.
On this particular problem, a lot of the literature is around substring matching which isn't what I want, at least not directly. Still looking.

If you don't have access to a university/college library database, then email your own/you local university/college's computer science department. They are generally happy to help.
/Mike
some sort of self balancing tree, like a splay tree
E.g. MIT's class (http://ocw.mit.edu/OcwWeb/Electrical-E
http://www.amazon.com/exec/obidos/A
(and yes, at this point anything that has to do with advanced string searching will end up with genetics-related stuff).
Re: some sort of self balancing tree, like a splay tree
(Anonymous)
Re: some sort of self balancing tree, like a splay tree
1) An array. Binary search is cool. Depends on what it would take to sort your strings (how they change, where they change) but you could use gap allocation to save a lot of speed if its the right data set.
2) A radix tree. One of my favorite data structures. Could save you space as well as speed.
3) Deterministic Skip List. Baddest datastructure of all time. Logical equivalent to a 2-3-4 B-Tree, but 1/4 the implementation effort. If I don't assume anything else other than what you gave me about this problem, this one wins hands down.
Ping me on IRC about this if you want.
Casey Dahlin
(Anonymous)
The only potentially parallelizable parts are setting up the trie and collecting strings in a trie subtree.
Mirek
Finding algorithms
(Anonymous)
Knuth and Cormen
Half of volume 3 in 'The art of computer programming' is about searching. There are interesting search and data-structure chapters (sequential, radix-tree, Knuth-Morris-Pratt etc) in 'Introduction to algorithms', too.
Re: Knuth and Cormen
(Anonymous)
Re: Knuth and Cormen
How about this article - collators for language-sensitive sorting and searching
http://www.icu-project.org/docs/papers/e
Re: Knuth and Cormen
(Anonymous)
Citeseer
trie common prefix
http://www.google.ie/search?q=trie+comm