## Frog Puzzle (Backtracking Algorithm)

This challenge is based on this Frog puzzle board game. At the start of the game several green frogs and one red frog are positioned on the board/pond on different waterlilies based on a given configuration. (The game comes with

## A* Search Algorithm

The A* Search algorithm (pronounced “A star”) is an alternative to the Dijkstra’s Shortest Path algorithm. It is used to find the shortest path between two nodes of a weighted graph. The A* Search algorithm performs better than the Dijkstra’s

## Dijkstra’s Shortest Path Algorithm

Dijkstra’s Shortest Path Algorithm is an algorithm used to find the shortest path between two nodes of a weighted graph. Before investigating this algorithm make sure you are familiar with the terminology used when describing Graphs in Computer Science. Let’s

## Graph Terminology

Graphs are a data structure that can be used in computer science in a variety of context. You can check the following Python challenges which are all being solved using a graph and a short path algorithm, one of the

## Air Flight Route Planner

For this challenge you will use a graph data structure to create an Air Fligh Route Planner for a fictitious airline company offering flights across Europe. Here is a map showing all the direct flights offered by this airline company:

## The Social Network

Six Degrees of Separation The Six degrees of separation is an idea that was originally set out by Frigyes Karinthy in 1929 and that can be applied to Social Networks such as Facebook. It is based on the idea that

## London Underground – Journey Planner

The aim of this Python challenge is to investigate how graphs can be used in Computer Science and investigate the key algorithms used when manipulating graphs in Python such as an algorithm to find the shortest path between two nodes

## Food Chain Game Using Python

Learning Objectives? In this set of Python challenges we will investigate the use of two data structures used in programming to represent data: We will use an array/list to represent a food chain. We will use a graph to represent