Recursion ProgrammingHi! Welcome to the world of Recursion! Programs using Recursion can be made to do all sorts of things, right from calculating the factorial of a number, to playing complex games against human intelligence. This small tutorial I've put up for you will take you from the basics of Recursion all the way to the highly challenging problems, giving you a firm understanding and confidence in Recursive programming. Most of the examples in this tutorial are some well known games, such as tictactoe, and are therefore a fun way to get started with programming using recursion. There are two sections in this site. The first is the actual Tutorial, with each chapter progressing on certain topics. The second section is for those who are already comfortable with Recursion. It consists of a mix of several specific problems solved. 
Home 
A step by step introduction to programming in Recursion. Please don't skip any of the chapters, since you may not be able to understand some of the chapters without reading the previous ones first.



Chapter 1  
The basic definition of Recursion
along with a kick start into its philosophy with the Factorial function 


Chapter 2  
Solve the famous paperpencil
puzzle of Magic Squares using recursive functions. [An insight into the permutation abilities of Recursion.] 


Chapter 3  
Make your program defeat you in the worldfamous game of tictactoe. [Watch Recursion work in 2player games.] 


Chapter 4  
Enter the realm of programming complex games like Connect4 using Recursion. [Depthlimit algorithms. The limitations of Recursion.] 


Chapter 5  
Make your Recursive functions
10 times faster. Optimize using a simple technique called AlphaBeta Pruning. Also learn about Recursion Trees. 
Here are some other interesting programs or problems involving Recursion. You could try to solve these problems yourself, or you could simply go through the solutions I've provided. I add new problems to this section whenever I think of something new. (Magic squares, Tic tac toe and Connect4 have been discussed thoroughly in the Tutorial section above. Don't miss it.) 



Three sorting algorithms which
sort numbers using Recursive techniques: Quick Sort, Merge Sort and Heapify. 



Given a few digits, insert mathematical symbols 



Solve these intellectually challenging
problems involving Recursive solutions. The finest way to lose a week's sleep.. 
For more information, try the following sites: Dictionary of Algorithms, Data Structures, and Problems For additional help in any way concerning Recursion, or
for suggestions or complaints or doubts, 