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