Contents

  • Academic and industrial views of data structures
  • The singly linked list
  • A singly linked job list
  • Array of jobs
  • Why use list of jobs
  • Dividing up jobs
  • More structure
  • Handling messages
  • Even more structure
  • Full job structure used
  • Typical data structures
  • Real jobs steps
  • History buffers
  • History buffers - ideal structure
  • Magic buffer - stage 1
  • Magic buffer - stage 2
  • Magic buffer - stage 3
  • Magic buffer - stage 4
  • History buffers without magic
  • Circular buffer - start
  • Circular buffer - stage 1
  • Circular buffer - stage 2
  • Circular buffer - wrapped
  • Circular buffers
  • Producer/Consumer relationship
  • Producer/Consumer initialisation
  • Producer/Consumer fetch data
  • Producer/Consumer fetch more data
  • Producer/Consumer consume data
  • Circular buffer - real example - reading
  • Circular buffer - real example - writing
  • The doubly linked list
  • Deletion from a doubly linked list
  • Asymmetric doubly linked list
  • Deletion from an asymmetric doubly linked list
  • Insertion into an asymmetric doubly linked list
  • Initialisation for an asymmetric doubly linked list
  • Example of asymmetric doubly linked list
  • Packet queues
  • Packet priority queues
  • Priority queue for jobs
  • Linker symbol table
  • Implicit data structures
  • Implicit data structures - Windows devices
  • Implicit data structures - Windows devices
  • Debugging data structures
  • Debugging data structures
  • Debugging data structures - complex displays
  • Debugging data structures - complex displays
  • Debugging data structures - complex displays
  • Why study data structures?
  • Typical use of data structures