10 Common Complexities

Algorithms

Algorithm

Time Complexity

Binary Search on array

O(logN)

Reversing a string

O(len)

Linear search

O(N)

Compare Nth fibonacci number

O(N)

Compare two strings

O(min(Len1, Len2))

Check if a string is palindrome

O(N)

Sorting (merge sort, quick sort avg, heap sort)

O(nlogn)

Sorting (bubble sort, quick sort worst etc.)

O(n^2)

Two nested loop

O(n^2)

Strstr

O(n * m) / KMP O(n + m)

Subsets

O(2^n)

Permutations

O(n!)

Data Structure

TreeMap

Heap

PriorityQueue

Insert

logn

logn

logn

delete任意node

logn

logn

X

pop (移除顶点)

logn

logn

logn

find

long

logn

X

modify

logn

logn

X

min/max (peek)

logn

O(1)

O(1)

upperbound/lowerbound

logn

X

X

ArrayList

LinkedList

set(index)

O(1)

O(n)

add(E)

O(n)

O(1)

add(E, index)

O(n)

O(n)

remove(index)

O(n)

O(n)

Iterator.remove()

O(n)

O(1)

Iterator.add(E)

O(n)

O(1)

Power of 2 table

Power of 2

Exac Value(X)

Approximate value

X Bytes into MB, GB, etc

7

128

8

256

10

1024

1 thousand

1KB

16

65,535

64KB

20

1,048,576

1 million

1MB

30

1,073,741,824

1 billion

1GB

32

4,294,967,296

4GB

40

1,099,511,627,776

1 trillion

1TB

Last updated