Constant
- Basic common operators
- Look-up table/dictionary (on average)
var x = 0
var y = 1
var temp = x
x = y
y = temp
Logarithmic
- Finding element on sorted array with binary search
var i = 1
while(i < n) {
i = i * 2
}
Linear
- Find max element in unsorted array
- Duplicate elements in array with Hash Map
for i in 0...n {
// do constant time stuff
print(i)
}
Linearithmic
- Sorting elements in array with merge sort
for i in 0...n {
var x = 1
while(x < n) {
x = x * 2
}
}
Quadratic
- Duplicate elements in array
- Bubble sort
for i in 0...n {
print(i)
for j in 0...n {
print(j)
}
}
Cubic
Exponential
Factorial
var x = 0
var y = 1
var temp = x
x = y
y = temp
var array: [Int] = []
for i in 0...n {
array.append(i)
}