Array -
ANSWER :
A data structure that stores an ordered list of items, with each item is directly accessible by
a positional index.
Bianary Search Tree -
ANSWER :
A data structure in which each node stores data and has up to two children, known as a left
child and a right child.
Linked List -
ANSWER :
A data structure that stores ordered list of items in nodes, where each node stores data and
has a pointer to the next node.
Hash Table -
ANSWER :
A data structure that stores unordered items by mapping (or hashing) each item to a loca-
tion in an array (or vector).
Hashing -
ANSWER :
mapping each item to a location in an array (in a hash table).
1
,Chaining -
ANSWER :
handles hash table collisions by using a list for each bucket, where each list may store multi-
ple items that map to the same bucket.
Hash key -
ANSWER :
value used to map an index
bucket -
ANSWER :
each array element in a hash table
ie A 100 elements hash table has 100 buckets
modulo hash function -
ANSWER :
computes a bucket index from the items key.
It will map (num_keys / num_buckets) keys to each bucket.
ie... keys range 0 to 49 will have 5 keys per bucket.
= 5
hash table searching -
ANSWER :
Hash tables support fast search, insert, and remove.
Requires on average O(1)
Linear search requires O(N)
2
, modulo operator % -
ANSWER :
common has function uses this. which computes the integer remainder when dividing two
numbers.
Ex: For a 20 element hash table, a hash function of key % 20 will map keys to bucket indices
0 to 19.
Max-Heap -
ANSWER :
A binary tree that maintains the simple property that a node's key is greater than or equal
to the node's childrens' keys. (Actually, a max-heap may be any tree, but is commonly a bi-
nary tree).
*a max-heap's root always has the maximum key in the entire tree.
Heap storage -
ANSWER :
Heaps are typically stored using arrays. Given a tree representation of a heap, the heap's ar-
ray form is produced by traversing the tree's levels from left to right and top to bottom. The
root node is always the entry at index 0 in the array, the root's left child is the entry at index
1, the root's right child is the entry at index 2, and so on.
Max-heap insert -
ANSWER :
An insert into a max-heap starts by inserting the node in the tree's last level, and then swap-
ping the node with its parent until no max-heap property violation occurs.
The upward movement of a node in a max-heap is sometime called percolating.
Complexity O(logN)
Percolating -
3
ANSWER :
A data structure that stores an ordered list of items, with each item is directly accessible by
a positional index.
Bianary Search Tree -
ANSWER :
A data structure in which each node stores data and has up to two children, known as a left
child and a right child.
Linked List -
ANSWER :
A data structure that stores ordered list of items in nodes, where each node stores data and
has a pointer to the next node.
Hash Table -
ANSWER :
A data structure that stores unordered items by mapping (or hashing) each item to a loca-
tion in an array (or vector).
Hashing -
ANSWER :
mapping each item to a location in an array (in a hash table).
1
,Chaining -
ANSWER :
handles hash table collisions by using a list for each bucket, where each list may store multi-
ple items that map to the same bucket.
Hash key -
ANSWER :
value used to map an index
bucket -
ANSWER :
each array element in a hash table
ie A 100 elements hash table has 100 buckets
modulo hash function -
ANSWER :
computes a bucket index from the items key.
It will map (num_keys / num_buckets) keys to each bucket.
ie... keys range 0 to 49 will have 5 keys per bucket.
= 5
hash table searching -
ANSWER :
Hash tables support fast search, insert, and remove.
Requires on average O(1)
Linear search requires O(N)
2
, modulo operator % -
ANSWER :
common has function uses this. which computes the integer remainder when dividing two
numbers.
Ex: For a 20 element hash table, a hash function of key % 20 will map keys to bucket indices
0 to 19.
Max-Heap -
ANSWER :
A binary tree that maintains the simple property that a node's key is greater than or equal
to the node's childrens' keys. (Actually, a max-heap may be any tree, but is commonly a bi-
nary tree).
*a max-heap's root always has the maximum key in the entire tree.
Heap storage -
ANSWER :
Heaps are typically stored using arrays. Given a tree representation of a heap, the heap's ar-
ray form is produced by traversing the tree's levels from left to right and top to bottom. The
root node is always the entry at index 0 in the array, the root's left child is the entry at index
1, the root's right child is the entry at index 2, and so on.
Max-heap insert -
ANSWER :
An insert into a max-heap starts by inserting the node in the tree's last level, and then swap-
ping the node with its parent until no max-heap property violation occurs.
The upward movement of a node in a max-heap is sometime called percolating.
Complexity O(logN)
Percolating -
3