Algorithmic Problem Solving Idea Algorithms and algorithmic problem solving occupy a central place in computer science and engineering. Algorithmic problem solving is a great starting point for students beginning their computer science and engineering studies. While students may have been exposed to problem solving techniques during their middle and high school, they would gain a new perspective by focusing on algorithmic aspects. Algorithmic problem solving can be approached starting with an informal notion of an algorithm.
Students do not need any experience with computer programming to develop their algorithmic thinking skills. Simple English language constructions and mathematical notation are sufficient to express sophisticated algorithms. Organization The material in this website is organized along several courses. Each course is a sequence of problem sets.
Each problem set introduces new algorithmic ideas and builds upon the previous ones. Students are expected to write complete solutions to each problem in the set. Hints and a few sample solutions are provided. Resources.
Algorithmic Puzzles by Anany Levitin and Maria Levitin. by Lehman, Leighton and Meyer Acknowledgments Most of the problems on this website are from the book, Algorithmic Puzzles by Anany Levitin and Maria Levitin.
PDF| The paper elucidates two views (models) of algorithmic problem solving. Design and analysis of algorithms reconsidered. Conference Paper (PDF Available).
Algorithmic puzzles are puzzles involving well-defined procedures for solving problems. This book will provide an enjoyable and accessible introduction to algorithmic puzzles that will develop the reader's algorithmic thinking. The first part of this book is a tutorial on algorithm design strategies and analysis techniques. Algorithm design strategies — exhaustive search, backtracking, divide-and-conquer and a few others — are general approaches to designing step-by-step instructions for solving problems.
Analysis techniques are methods for investigating such procedures to answer questions about the ultimate result of the procedure or how many steps are executed before the procedure stops. The discussion is an elementary level, with puzzle examples, and requires neither programming nor mathematics beyond a secondary school level. Thus, the tutorial provides a gentle and entertaining introduction to main ideas in high-level algorithmic problem solving. The second and main part of the book contains 150 puzzles, from centuries-old classics to newcomers often asked during job interviews at computing, engineering, and financial companies. The puzzles are divided into three groups by their difficulty levels. The first fifty puzzles in the Easier Puzzles section require only middle school mathematics. The sixty puzzle of average difficulty and forty harder puzzles require just high school mathematics plus a few topics such as binary numbers and simple recurrences, which are reviewed in the tutorial.
All the puzzles are provided with hints, detailed solutions, and brief comments. The comments deal with the puzzle origins and design or analysis techniques used in the solution. The book should be of interest to puzzle lovers, students and teachers of algorithm courses, and persons expecting to be given puzzles during job interviews. Anany Levitin is a professor of Computing Sciences at Villanova University. He is the author of a popular textbook on design and analysis of algorithms, which has been translated into Chinese, Greek, Korean, and Russian.
![Puzzles Puzzles](/uploads/1/2/5/4/125463737/742011326.jpg)
He has also published papers on mathematical optimization theory, software engineering, data management, algorithm design, and computer science education. Maria Levitin is an independent consultant. After some years working for leading software companies and developing business applications for large corporations, she now specializes in web-based applications and wireless computing.