4.2 Fundamentals of Data Structures
4.2 Fundamentals of Data Structures
It may be helpful to set the concept of a data structure in various contexts that
students may already be familiar with. It may also be helpful to suggest/demonstrate
how data structures could be used in a practical setting.
queue
stack
graph
tree
hash table
dictionary
vector
Be able to use these abstract data types and their equivalent data structures in
simple contexts.
Students should also be familiar with methods for representing them when a
programming language does not support these structures as built-in types.
Be able to distinguish between static and dynamic structures and compare their
uses, as well as explaining the advantages and disadvantages of each.
stacks
hash tables
4.2.2 Queues
Be able to describe and apply the following to linear queues, circular queues and
priority queues:
remove an item
4.2.3 Stacks
Be able to describe and apply the following operations:
push
pop
peek or top
4.2.4 Graphs
Be aware of a graph as a data structure used to represent more complex
relationships.
graph
weighted graph
vertex/node
edge/arc
undirected graph
directed graph
Know how an adjacency matrix and an adjacency list may be used to represent
a graph.
Know that a rooted tree is a tree in which one vertex has been designated as the
root. A rooted tree has parent-child relationships between nodes. The root is the
only node with no parent and all other nodes are descendants of the root.
Know that a binary tree is a rooted tree in which each node has at most two
children.
A hash table is a data structure that creates a mapping between keys and
values.
Know what is meant by a collision and how collisions are handled using
rehashing.
A collision occurs when two key values compute the same hash.
4.2.7 Dictionaries
Be familiar with the concept of a dictionary.
Information retrieval:
For example, the document 'The green, green grass grows' would be
represented by the dictionary:
4.2.8 Vectors
Be familiar with the concept of a vector and the following notations for specifying
a vector:
function interpretation
0 ↦ 2.0
1 ↦ 3.14159
2 ↦ -1.0
3 ↦ 2.718281828
↦ means maps to
That all the entries must be drawn from the same field, e.g. R.