Algorithm Projects with Go

Problem-Solving with Recursion you own this product

This project is part of the liveProject series Six Small Algorithm Projects with Go
prerequisites
arrays • slices • basic chess movement rules
skills learned
recursion • simple dynamic programming • memoization • backtracking • restructuring problems • calculating factorials and Fibonacci numbers • finding knight's tours • solving the N-queens problem • solving the Tower of Hanoi puzzle
Rod Stephens
1 week · 2-4 hours per week · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Look inside

You’re an avid chess player who’s asked by Alexis, a fellow chess club member, “How many queens can you place on a chessboard without any of them being able to attack any of the others?” To discover the answer, you’ll write a recursive program that will enable you to examine all of the possible queen arrangements. You’ll start with simpler functions, including calculating factorials and Fibonacci numbers, to warm up your recursive brain muscles. Then, you’ll advance to solving the knight’s tour problem, the Tower of Hanoi puzzle, and finally, the N-queens problem—the one that will satisfy Alexis’s curiosity. When you’re finished, you’ll have elevated your recursive function game by solving well-known problems and learning important techniques along the way.

This project is designed for learning purposes and is not a complete, production-ready application or solution.

book resources

When you start your liveProject, you get full access to the following books for 90 days.

project author

Rod Stephens

Rod Stephens started out as a mathematician but discovered the fun of algorithms and has been programming ever since. Rod was a Microsoft Visual Basic Most Valuable Professional (MVP) for 15 years, has spoken to user groups and conferences, and has taught introductory programming courses. He has written more than 35 books including Essential Algorithms: A Practical Approach to Computer Algorithms Using Python and C# and Beginning Software Engineering, both of which include material related to this series of liveProjects.

prerequisites

This liveProject is for Go programmers, from beginning level to advanced, who want to learn how to solve problems using recursive techniques in Go. To begin these liveProjects you’ll need to be familiar with the following:

TOOLS:

  • A Go compiler (such as Visual Studio Code or Online GDB)
TECHNIQUES:
  • Basic math
  • Basic Go features (including arrays and slices)
  • Knowledge of basic chess moves

you will learn

In this liveProject, you’ll learn how to solve problems using recursive techniques in Go:

  • Simple dynamic programming
  • Memoization
  • Backtracking
  • Restructuring problems
  • Calculating factorials and Fibonacci numbers
  • Finding knight's tours
  • Solving the N-queens problem
  • Solving the Tower of Hanoi puzzle

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Problem-Solving with Recursion project for free