Loop execution flow - Time & Space Complexity
Loops are a basic way to repeat actions in code. Understanding how many times a loop runs helps us see how long a program might take.
We want to know how the work grows as the loop runs more times.
Analyze the time complexity of the following code snippet.
for (int i = 0; i < n; i++) {
printf("%d\n", i);
}
This code prints numbers from 0 up to n-1, repeating the print action n times.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: The print statement inside the loop.
- How many times: Exactly n times, once for each loop cycle.
As n gets bigger, the number of print actions grows the same way.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 prints |
| 100 | 100 prints |
| 1000 | 1000 prints |
Pattern observation: The work grows directly with n, so doubling n doubles the work.
Time Complexity: O(n)
This means the time to finish grows in a straight line with the size of n.
[X] Wrong: "The loop runs faster as n gets bigger because computers are fast."
[OK] Correct: Even though computers are fast, the loop still does more work when n is bigger, so it takes more time overall.
Knowing how loops affect time helps you explain your code clearly and shows you understand how programs grow with input size.
"What if we added a second nested loop inside the first? How would the time complexity change?"