DS161 Module 3 Exam
O(logn)
Time complexity of binary search
O(log(log(n))
Time complexity of interpolation search
hash function
algorithm that converts a hash key to a hash value
dynamic programming
algorithmic paradigm that solves a given complex problem by breaking it into subproblems and stores the results of subproblems to avoid computing the same results again
heap
complete binary tree-based data structure
rehashing
creating a new and bigger hash table
hash table
data structure that implements an associative array
linear probing
finding next free position in hash table when a value is already occupied
min-heap
heap wherein each node's value is greater than or equal to parent node's value
max-heap
heap wherein each node's value is less than or equal to parent node's value
hash key
input of a hash function
collision
occurs when the hash function produces the same hash value for two or more keys
0.75
optimal load factor
hash value
output of a hash function
salt
piece of random data that is added to the password before hashing it
bucket
position within an array in hash tables
chaining
storing linked lists instead of putting hash values in a table
Overlapping Subproblems and Optimal Substructure
two main properties of a problem that suggests that the given problem can be solved using Dynamic programming
Memoization and Tabulation
ways to store values for dynamic programming so that these values can be reused