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

 

§§§