views:

155

answers:

6

Do I need special book to learn about string algorithms, or it will be enough to pick up a chapter from general books (e.g."Introduction to Algorithms")?
I prefer more code and less theory, and language doesn`t matter. It seems to me that many books on algorithms are outdated. Is it true?

A: 

There can be improvements to algorithms all the time. But suitability to a particular application can be quantified.

For example various string matching algorithms described here

Indeera
+1  A: 

I found a few books on string algorithms online that you may want to browse through to see if they have what you need (see the Related books section on that page). I know that general books on algorithms like CLRS and Skiena have chapters on string algorithms, but they might only cover the most commonly needed algorithms. If you have a focused interest in on specific area, they might only get you started, without providing the depth you need.

Bill the Lizard
The CLRS section on string algorithms I found to be pretty useless for all but the most basic work.
San Jacinto
+2  A: 

In addition to general books on string algorithms, it's probably worth your while to look at bioinformatics algorithms that have to do with string matching, such as the Needleman-Wunsch global alignment algorithm and the Smith-Waterman local alignment algorithm, the latter of which has a much faster (though slightly less accurate) heuristic version called BLAST. I've modified BLAST to work on ASCII with good results; adapting it to work with a wchar_t is left as an exercise for the reader, but shouldn't be too hard.

On the data-structures side of things, tries, directed acyclic word graphs and suffix trees are all incredibly useful things to have in your toolbox.

Meredith L. Patterson
+3  A: 

Great book is the Algorithms on Strings, Trees and sequences.

nlucaroni
This is THE book on string algorithms.
San Jacinto
A: 

Thanks everybody for suggestions, I decided to get a background in other algorithms before learning string ones.
Absence of algorithms and data structures course at university is really hit in the back for me:(

chester89
Good luck on filling in the gaps. Skiena's Algorithm Design Manual is an excellent resource for studying algorithms and data structures on your own. If you decide to go with CLRS, I just want to make sure you're aware of MIT's OpenCourseWare lecture videos that go with the book. http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-046JFall-2005/VideoLectures/index.htm
Bill the Lizard
thanks a lot, I`ve just started watching these videos
chester89
A: 

If you want a not particulary academic but readable approach try Algorithms in a Nutshell

mikej