Essential algorithms and data structures

Data structures

A feature of imperative programming languages, these abstractions of memory allow for the creation of higher order data structures.

What is a list?

A list is a collection of elements of different data types.  In practice, a list is either an array in disguise or an implementation of a linked list (see higher order data structures).  An array is typically used if the limits of the structure are known when the program is written — for example, we know chess is played on an 8×8 board.  Conversely, a list is used when the number of items is more variable such as a player’s inventory in an RPG game.  In reality, either an array or a list can usually

be used for the same purpose. 

Some programming languages support both arrays and lists while some only support one or the other.

List 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.