Asymptotic Analysis (Easy/Medium) Flashcards
Two Number Sum
Time: O(n log(n))
Space: O(1)
Find Closest Value in BST
Time: O(log(n))
Space: O(1)
Depth First Search
Time: O(v + e)
Space: O(v)
Nth Fibonacci
Time: O(n)
Space: O(1)
Product Sum
Time: O(n)
Space: O(d)
Where d = greatest depth of the ‘special’ arrays
Binary Search
Time: O(log(n))
Space: O(1)
Find Three Largest Numbers
Time: O(n)
Space: O(1)
Bubble Sort
Time: O(n^2)
Space: O(1)
Insertion Sort
Time: O(n^2)
Space: O(1)
Palindrome Check
Time: O(n)
Space: O(1)
Caesar Cipher Encryptor
Time: O(n)
Space: O(n)
Branch Sums
Time: O(n)
Space: O(n)
Three Number Sum
Time: O(n^2)
Space: O(n)
Remember that the result is all ‘triplets’
Smallest Difference
Time: O(n log(n) + m log(m))
Space: O(1)
Move Element to End
Time: O(n)
Space: O(1)
Validate BST
Time: O(n)
Space: O(d) where d = depth
Invert Binary Tree
Time: O(n)
Space: O(d) where d is depth of BST
Max Subset Sum No Adjacent
Time: O(n)
Space: O(1)
Group Anagrams
Time: O(wn log(n))
Space: O(wn)
Levenshstein Distance
Time: O(mn)
Space: O(min(m,n))
Kadane’s Algorithm
Time: O(n)
Space: O(1)
Minimum number of coins for change
Time: O(nd) where n is target amount and d is number of denominations
Space: O(n)
Remove Kth node from the end
Time: O(n)
Space: O(1)
Permutations
Time: O(n * n!)
Space: O(n * n!)
Balanced Brackets
Time: O(n)
Space: O(n)
BST Traversal
Time: O(n)
Space: O(n)
RiverSizes
Time: O(wh)
Space: O(wh)
where w = width and h = height of input matrix
Youngest Common Ancestor
Time: O(d)
Space: O(1)
ZigZag Traverse
Time: O(n)
Space: O(n)
Suffix Trie
Creation:
Time: O(n^2)
Space: O(n^2)
Searching:
Time: O(m) where m is length of input string
Space: O(1)
Search Sorted Matrix
Time: O(n + m) where n is #rows and m is #columns in matrix
Space: O(1)