Bird
Raised Fist0
R Programmingprogramming~5 mins

While loop in R Programming - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: While loop
O(n)
Understanding Time Complexity

We want to understand how the time a while loop takes changes as the input grows.

Specifically, how many times does the loop run when the input gets bigger?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


i <- 1
while (i <= n) {
  print(i)
  i <- i + 1
}
    

This code prints numbers from 1 up to n using a while loop.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The while loop runs and prints a number each time.
  • How many times: It runs once for each number from 1 to n, so n times.
How Execution Grows With Input

As n grows, the number of times the loop runs grows the same way.

Input Size (n)Approx. Operations
10About 10 prints and increments
100About 100 prints and increments
1000About 1000 prints and increments

Pattern observation: The work grows directly with n, so doubling n doubles the work.

Final Time Complexity

Time Complexity: O(n)

This means the time it takes grows in a straight line with the size of n.

Common Mistake

[X] Wrong: "The while loop runs a fixed number of times no matter what n is."

[OK] Correct: The loop depends on n, so if n gets bigger, the loop runs more times.

Interview Connect

Understanding how loops grow with input size helps you explain your code clearly and shows you know how to write efficient programs.

Self-Check

"What if we changed the loop to increase i by 2 each time? How would the time complexity change?"

Practice

(1/5)
1. What does a while loop do in R?
easy
A. Executes code only once
B. Repeats code a fixed number of times
C. Repeats code as long as a condition is TRUE
D. Stops the program immediately

Solution

  1. Step 1: Understand the purpose of a while loop

    A while loop runs repeatedly while its condition remains TRUE.
  2. Step 2: Compare options

    Only Repeats code as long as a condition is TRUE correctly describes this behavior; others describe different concepts.
  3. Final Answer:

    Repeats code as long as a condition is TRUE -> Option C
  4. Quick Check:

    while loop = repeat while TRUE [OK]
Hint: While loops run while condition is TRUE, not fixed times [OK]
Common Mistakes:
  • Confusing while loop with for loop
  • Thinking it runs only once
  • Believing it stops the program
2. Which of the following is the correct syntax for a while loop in R?
easy
A. while (i <= 5) { print(i); i <- i + 1 }
B. while i <= 5 { print(i); i <- i + 1 }
C. while i <= 5: print(i); i <- i + 1
D. while (i <= 5) print(i) i <- i + 1

Solution

  1. Step 1: Check R while loop syntax

    R requires parentheses around the condition and braces for the loop body.
  2. Step 2: Validate each option

    Only while (i <= 5) { print(i); i <- i + 1 } uses correct parentheses and braces syntax.
  3. Final Answer:

    while (i <= 5) { print(i); i <- i + 1 } -> Option A
  4. Quick Check:

    Correct syntax uses parentheses and braces [OK]
Hint: Use parentheses for condition and braces for loop body [OK]
Common Mistakes:
  • Omitting parentheses around condition
  • Missing braces for multiple statements
  • Using colon or wrong punctuation
3. What is the output of this R code?
i <- 1
while (i <= 3) {
  print(i)
  i <- i + 1
}
medium
A. Error: object 'i' not found
B. [1] 1 [1] 2
C. [1] 3
D. [1] 1 [1] 2 [1] 3

Solution

  1. Step 1: Trace the loop iterations

    i starts at 1, loop runs while i <= 3, printing i each time and increasing i by 1.
  2. Step 2: List printed values

    Values printed are 1, then 2, then 3 before loop stops.
  3. Final Answer:

    [1] 1 [1] 2 [1] 3 -> Option D
  4. Quick Check:

    Prints 1, 2, 3 in order [OK]
Hint: Increment loop variable inside while to avoid infinite loop [OK]
Common Mistakes:
  • Forgetting to increment i causing infinite loop
  • Expecting only last value printed
  • Confusing output format
4. Identify the error in this R while loop code:
i <- 1
while (i < 5) {
  print(i)
}
medium
A. Missing increment of i inside the loop
B. Incorrect condition syntax
C. print() function is invalid
D. Variable i is not initialized

Solution

  1. Step 1: Analyze loop body

    The loop prints i but never changes i, so i stays 1 forever.
  2. Step 2: Understand consequence

    Without increment, the condition i < 5 is always TRUE, causing infinite loop.
  3. Final Answer:

    Missing increment of i inside the loop -> Option A
  4. Quick Check:

    Update loop variable to stop loop [OK]
Hint: Always update loop variable inside while to avoid infinite loop [OK]
Common Mistakes:
  • Forgetting to increment loop variable
  • Assuming print causes increment
  • Misreading condition syntax
5. How can you use a while loop in R to calculate the factorial of 5?
Choose the correct code snippet.
hard
A. n <- 5 fact <- 0 i <- 1 while (i < n) { fact <- fact * i i <- i + 1 } fact
B. n <- 5 fact <- 1 i <- 1 while (i <= n) { fact <- fact * i i <- i + 1 } fact
C. n <- 5 fact <- 1 while (n > 0) { fact <- fact + n n <- n - 1 } fact
D. n <- 5 fact <- 1 while (fact <= n) { fact <- fact * n n <- n - 1 } fact

Solution

  1. Step 1: Understand factorial calculation

    Factorial multiplies numbers from 1 to n, so loop must multiply fact by i from 1 to n.
  2. Step 2: Check each code snippet

    n <- 5 fact <- 1 i <- 1 while (i <= n) { fact <- fact * i i <- i + 1 } fact correctly initializes fact=1, loops i from 1 to n, multiplying fact by i each time.
  3. Final Answer:

    n <- 5 fact <- 1 i <- 1 while (i <= n) { fact <- fact * i i <- i + 1 } fact -> Option B
  4. Quick Check:

    Multiply 1 to 5 sequentially for factorial [OK]
Hint: Multiply from 1 to n inside while loop for factorial [OK]
Common Mistakes:
  • Using addition instead of multiplication
  • Incorrect loop condition
  • Starting fact at 0 causing zero result
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard