...

/

Examples Related to Time Complexities

Examples Related to Time Complexities

Let's dive deeper into the time complexity analysis by looking into some examples in this lesson.

Letā€™s dive deeper into the time complexity analysis by looking at some examples.

Example 1: for loop

The case below is a for loop. We have a time complexity of O(n)O(n).

Press + to interact
package main
import(
"fmt"
)
func fun1(n int) int {
m := 0
for i := 0; i < n; i++ {
m += 1
}
return m
}
func main() {
fmt.Println("N = 100, Number of instructions O(n) ::", fun1(100))
}

The statement on line 10 takes constant time. Hence, it doesnā€™t affect the time complexity of the loop.

Example 2: Nested for loop

In this case, we have a nested loop where the total number of loops is 2. Both loops run n times. According to formula O(nc)O(n^c), its time complexity is O(n2ā€‹ā€‹ā€‹)O(n^2ā€‹ā€‹ā€‹).

Press + to interact
package main
import(
"fmt"
)
func fun2(n int) int {
m := 0
for i := 0; i < n; i++ {
for j := 0; j < n; j++ {
m += 1
}
}
return m
}
func main() {
fmt.Println("N = 100, Number of instructions O(n^2) ::", fun2(100))
}

Example 3: Arithmetic series

This example shows that the inner loop iterates ii times, and the outer loop iterates nn times.

The exact number of steps will go the same way as those of the arithmetic series. In this case, the time complexity will be: O(n+(nāˆ’1)+(nāˆ’2)+ā‹Æā€‰)O(n+(n-1)+(n-2)+\cdots) = O(n(n+1)/2)O(n(n+1)/2) ...