February 1st, 2010
Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.
The motivation for starting Project Euler, and its continuation, is to provide a platform for the inquiring mind to delve into unfamiliar areas and learn new concepts in a fun and recreational context.
http://projecteuler.net/
201002 algorithms mathematics programming puzzles
Posted in Website | Comments Off
November 16th, 2009
Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. “Introduction to Algorithms” uniquely combines rigor and comprehensiveness. The book covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers. Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor.
The first edition became a widely used text in universities worldwide as well as the standard reference for professionals. The second edition featured new chapters on the role of algorithms, probabilistic analysis and randomized algorithms, and linear programming. The third edition has been revised and updated throughout. It includes two completely new chapters […] and substantial additions to the chapter on recurrences (now called “Divide-and-Conquer”). It features improved treatment of dynamic programming and greedy algorithms and a new notion of edge-based flow in the material on flow networks. Many new exercises and problems have been added for this edition.
Thomas H. Cormen
Charles E. Leiserson
Ronald L. Rivest
Clifford Stein
http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11866
200911 algorithms
Posted in Book | Comments Off
April 12th, 2009
I dislike animated sorting algorithm visualisations - there’s too much of an air of hocus-pocus about them. Something impressive and complicated happens on screen, but more often than not the audience is left mystified. I think their creators must also know that they have precious little explanatory value, because the better ones are sexed up with play-by-play doodles, added, one feels, as an apologetic afterthought by some particularly dorky sportscaster. Nevertheless I’ve been unable to find a single attempt to visualise a sorting algorithm statically (if you know of any, please drop me a line).
So, presented below are the results of a pleasant evening with some nice Scotch and the third volume of Knuth. First, here’s a taster - a static visualisation of heapsort:

I think these simple static visualisations are much clearer than most animated attempts - and they have the added benefit of also being, to my not entirely unbiased eye, rather beautiful. You will find more visualisations, source code, and a tediously long explanation of why I bothered, after the jump.
Aldo Cortesi
http://www.hatfulofhollow.com/posts/code/visualisingsorting
200904 algorithms visualization
Posted in Article | Comments Off