Help
Help
Term
Elementary data type
Structured data type
Composite data type
Abstract data type
Static data structure
Dynamic data structure
Heap
Overflow
Underflow
Stack overflow error
Array
Index
Multi-dimensional array
Element
Record
Tuple
Immutable
List
Linked list
Queue
Circular queue
Priority queue
First In, First Out (FIFO)
Enqueue
Dequeue
isEmpty
isFull
Append
Push
Pop
Stack
Last In, First Out (LIFO)
Call stack
Stack frame
Parameter
Return address
Hashing
Hash table
Collision
Mid-square method
Folding method
Dictionary
Graph
Edge
Arc
Vertex
Node
Directed graph
Digraph
Undirected graph
Weighted edge
Adjacency matrix
Adjacency list
Page Rank algorithm
Tree
Root
Child
Parent
Subtree
Leaf node
Binary search tree
Pre-order traversal
In-order traversal
Post-order traversal
3 - data structures
Definition
base data types that cannot be further simplified
A data type made of other data types (elementary or structured)
A data type made of other data types (elementary or structured)
a data type that does not exist physically but is instead a way the data is viewed
size cannot change after execution
size can change after execution
allocated memory for dynamic data structures to access
attempting to push to a full stack
attempting to remove from an empty stack
when too many stack frames are added to the call stack - heap has no memory left
a static data structure consisting of values of the same type
position of an element within a data structure
an array which consists of other arrays (could be 2D, 3D, and beyond)
a single item in a data structure
contain a fixed number of immutable elements of different data types
a static, immutable data structure consisting of values which can have different data types
elements within a data structure cannot be changed
an abstract data structure that is dynamic, mutable and can hold multiple data types
a dynamic abstract data structure that uses nodes (data/pointer)
an abstract, static data structure where items are added to the rear (FIFO)
a queue where spaces from items previously dequeued can be reused
a queue where elements are assigned a value which dictates their priority - changing order of adding and removing
items are removed in order of entry (first item added is first item removed)
adds item to the rear of the queue
removes and returns the item from the front of the queue
checks if queue is empty
checks if queue is full
Add an item to the end of a list
Adds item to the top of a stack
removes an element from the end of a list (or by position if index is passed into the brackets)
an abstract data structure where items are added to and removed from the top (LIFO)
items are removed from the top (last item in is first removed)
system level data structure used when calling functions
contains the parameters, return address and local values of a function call
values passed into a function
location data is passed back to after a function has completed
when an algorithm is applied to some data to provide a unique address for a hash table
abstract data structure which holds the results of a hashing algorithm
when two addresses calculated after a hashing algorithm return the same value/address
square a numeric value, take the middle two values from the result, mod result by table size
split value into pairs/twos, sum the pairs, mod result by table size
data structure where data is stored as a key:value pair
abstract data structure that shows connections between nodes
line connecting two nodes
as above
the same as a node
data or value in a graph/tree
arrowheads used to show direction
the same as above
No arrowheads, bidirectional
edge has a value attached to it
shows connections between nodes (2D array)
shows connections between nodes (dictionary)
abstract data structure that connects nodes in a bidirectional fashion with no cycles
the first node in a tree (has no parent node)
a node with a node linking to it (above)
a node with one or more nodes connected beneath it
a tree within a tree
a node with no child nodes
a tree where parent nodes can have only 0, 1 or 2 child nodes (data, left pointer, right pointer)
root, left, right
left, root, right
left, right, root
Example (if applicable)
Boolean, integer, float, character
String, list, tuple
String, list, tuple
Queue, Stack, Linked List
array
list
array = ["a","b","c"]
2D = [["a","b"],["c","d"]]
record1 = ("Fred",25,"Pizza")
tuple = ("Fred",25,"Pizza")
print queue
hospital queue
enqueue(item)
dequeue()
if rear < front: (only for static queues) if size == 0:
if rear == maxSize:
undo function