Essential algorithms and data structures

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.

Dijkstra’s videos

What extra is in the book?

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

  1. Overview
  2. Typical applications / uses
  3. Typical operations
  4. The algorithm written out in simple-structured English
  5. The algorithm written out in pseudocode
  6. Full code listing in Python
  7. Additional code listings in Visual Basic and C# are also available to download
  8. Diagrammatic walk-through
  9. 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.

Registered in England and Wales: 10442992

VAT Number: 290 9845 58

Telephone: 03330 164 059

Email: admin@craigndave.co.uk

BETT Finalists 2022
Teach Secondary Awards 2022 Finalist