Join Patrick Royal for an in-depth discussion in this video Eight queens, part of Code Clinic: Java.
- Hello and welcome to Code Clinic. My name is Patrick Royal. Code Clinic is a monthly course where a unique problem is introduced to a collection of lynda.com authors. In response, each author will create a solution using their programming language of choice. You can learn several things from Code Clinic. Different approaches to solving a problem, the pros and cons of different languages, and some tips and tricks to incorporate into your own coding practices. This month we're working on a classic computer programming problem called the eight queens.
This famous problem is often used during interviews or to demonstrate the utility of a computer language. It requires an understanding of recursion in algorithm design and it can be quite useful as an exercise in learning to program solutions for complex problems. This problem was proposed by Max Bezzel in 1848 and solved by Franz Nauck in 1850. The problem is simple. Start with a chessboard and eight queens then set up the board so that no two queens can attack each other.
There is more than one solution so find them all. We already know there are 92 possible solutions and we already have examples of the solutions in several computer languages. If you've never played chess you'll need to understand that a queen can attack by moving an unlimited number of spaces in three directions: horizontally, vertically and diagonally. This means that no two queens can share a row or column, nor can they be located diagonally from each other. In the following video I'll show you my solution to the eight queens problem.
I'd encourage you to also look at the solutions from other authors in the lynda.com library. You'll be able to compare different author styles and different languages.
Patrick introduces challenges and provide an overview of his solutions in Java. Challenges include topics such as statistical analysis, searching directories for images, and accessing peripheral devices.
Visit other courses in the series to see how to solve the exact same challenges in languages like C#, C++, PHP, Python, and Ruby.
Skill Level Intermediate
Q: I am unable to access the Lake Pend Oreille data from outside the U.S.
A: A static copy of this data is provided here for lynda.com members outside of the U.S