searching algorithms Part 1 : Solution to n * n puzzle board which can rotate a row in 1 direction at a time Part 2: Routing Algorithms Part 3: Assigning groups in a class based on student's prefernces using Monte Carlo