Saturday, June 7, 2008

Algorithms for programmers by Jorg Arndt

Algorithms for Programmers

Author(s) : Jörg Arndt
Last Updated : February 14, 2007

This is a draft -- a work in progress

Draft review:

This draft is first created to accompany the already established collection of FXT libraries by the same author, on the fast transforms and low level algorithms. So far there has been 23 chapters of selected algorithms, each contains the necessary theorems and the corresponding code. While some topics (like Fast Fourier Transforms) need a clear and explicit introduction, some others (like the bit wizardry chapter) seem to be best presented by basically showing the code with just a few comments. The pseudo language Sprache is used mainly when the corresponding C++ does not appear to be self-explanatory. Still, larger pieces of code are presented in C++.

The latest 23 chapters so far:

- Bit wizardry
- Permutations
- Sorting and searching
- Data structures
- Combinatorial algorithms
- Searching paths in directed graphs
- The Fourier transform
- Algorithms for fast convolution
- The Hartley transform (HT)
- Number theoretic transforms (NTTs)
- The Walsh transform and its relatives
- The Haar transform
- and 10 chapters on arithmetical algorithms

The theorem parts is presented in a straightforward and point-to-point style, useful for both learning and quick reference purposes. And the implementation source code is kept in a strict and optimized style. And since I'm personally not very fond of devouring algorithm theorems with those curly mathematic notations, I found the source code really helpful in understanding them.

Overall, this is a nice collection of algorithms in a compact and no-nonsense style with reasonably optimized working code and pseudo-code. Definitely will do a great favor for students of computer science.

Since this book is still a draft, the readers are welcome to criticize and make suggestions. Publication is planned for summer 2005.

Download:

http://rapidshare.com/files/86207218/fxtbook.rar

No comments: