What is an array?
How are items accessed in an array?
What is an abstract data type?
A theoretical description of a way of organising a collection of data, with particular features and access restrictions, that is independent of any particular data structure.
What is a data structure?
The concrete realisation of an abstract data type in code.
What is a static data structure?
A data structure that reserves a fixed amount of memory, specified by the programmer in advance of its use
What is a dynamic data structure?
Data structures that have no fixed size. The memory used grows and shrinks as items are added/removed
2 advantages of static data structures over dynamic data structures
2 advantages of dynamic data structures
Queue: FIFO or LIFO?
FIFO (First in first out)
Queue: Four key operations
Describe briefly the data structures and pointers used by a linear queue
Disadvantages of linear queues if you
1. Don’t shuffle down the items
2. If you do
Key difference of circular queue from linear queue?
What happens to the rear pointer when enqueuing an item to a circular queue?
rear ← (rear + 1) % maxSize
What is a priority queue? How does enqueuing work?
Name an algorithm that can be implemented with a priority queue
Dijkstra’s Algorithm
Stack: FIFO or LIFO?
LIFO (Last in first out)
Stack: Five core operations
Describe implementation of a stack
Graph: Static or dynamic?
Dynamic, they can grow and shrink in size
What is a graph?
Graphs are sets of vertices (nodes) and the edges (arcs) that connect them
What is a graph with a high ratio of edges to vertices called?
Dense
What is a graph with a low ratio of edges to vertices called?
Sparse
What is a weighted graph?
A graph that has weights (number values) on each edge
What is a connected graph?
A graph where there is a path between each pair of vertices