**Essential algorithms for GCSE and A Level Computer Science**

**Optimisation algorithms**

Routines that find satisfactory or optimum paths between vertices / nodes on a graph.

**What is Dijkstra's shortest path?**

Dijkstra’s shortest path algorithm finds the shortest path between one node and all other nodes on a weighted graph. It is sometimes considered a special case of

the A* algorithm with no heuristics, although Edsger Dijkstra developed his algorithm first. It is also a type of breadth-first search.

A limitation of Dijkstra’s shortest path is that it doesn’t work for edges with a negative weight value. The Bellman–Ford algorithm later provided a solution to that problem.

**What extra is in the book?**

** **

This algorithm / data structure has its own dedicated chapter in the book, which includes:

- Overview
- Typical applications / uses
- Typical operations
- The algorithm written out in simple-structured English
- The algorithm written out in pseudocode
- Full code listing Python
- Full code listing in Visual Basic
- Diagrammatic walk-through
- Efficiency discussion with reference to Big-O notation

A hard copy of the book is available **on our shop** and a free PDF copy is included for all premium subscribers.