PUZZLES!!!*
*Note: all puzzles here are
“ancient” and probably no one remembers who invented them. Thus, we
will not try to assign authorship or remember their sources.
_______________________________________________________________________
----------------------------------------------------------------------------------------------------------------------------------------------
Why Puzzles? Solving
puzzles will help you sharpen your analytic skills and make you a better
problem solver. More over, most of our puzzles can be
solved using methods that are either the same or are related to various techniques
that we will be using to design algorithms. Click on titles to get to the
puzzles.
1.Puzzles
related to recursion and mathematical induction We start
with a set of puzzles that are all related to recursion and mathematical
induction. I have
chosen interesting but also a bit tough puzzles to get you intrigued, so do not
get discouraged if you find them hard.
2. Puzzles
related to probability Understanding probability theory is
necessary for evaluating the behaviour of an algorithm in average (i.e.,
in finding the expected run time of an algorithm for given probability
distribution of inputs). Probability can
be tricky and it often teases our “naïve” common sense, as you might experience
below.
3. Analytical
thinking puzzles A mix
of various puzzles for developing creative thinking and your analytical
ability
§§§