Bird
Raised Fist0
R Programmingprogramming~5 mins

List creation in R Programming - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: List creation
O(n)
Understanding Time Complexity

When we create a list in R, we want to know how the time to build it changes as the list gets bigger.

We ask: How does the work grow when we add more items to the list?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

my_list <- list()
for (i in 1:n) {
  my_list[[i]] <- i * 2
}

This code creates a list and fills it with numbers doubled from 1 to n.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Adding one item to the list inside the loop.
  • How many times: Exactly n times, once for each number from 1 to n.
How Execution Grows With Input

Each new item means one more step, so the work grows steadily as n grows.

Input Size (n)Approx. Operations
1010 steps
100100 steps
10001000 steps

Pattern observation: The time grows directly with the number of items added.

Final Time Complexity

Time Complexity: O(n)

This means the time to create the list grows in a straight line as the list gets bigger.

Common Mistake

[X] Wrong: "Adding items to a list is instant and does not depend on size."

[OK] Correct: Each new item requires a step, so more items mean more time.

Interview Connect

Understanding how list creation time grows helps you explain efficiency clearly in interviews.

Self-Check

What if we pre-allocate the list size before the loop? How would the time complexity change?

Practice

(1/5)
1. What is the correct way to create an empty list in R?
easy
A. my_list <- []
B. my_list <- list()
C. my_list <- {}
D. my_list <- array()

Solution

  1. Step 1: Understand list creation in R

    In R, lists are created using the list() function.
  2. Step 2: Identify the correct syntax

    The syntax my_list <- list() creates an empty list. Other options use incorrect syntax for lists.
  3. Final Answer:

    my_list <- list() -> Option B
  4. Quick Check:

    list() creates an empty list [OK]
Hint: Use list() to create lists in R [OK]
Common Mistakes:
  • Using [] which is for vectors, not lists
  • Using {} which is for expressions or sets in other languages
  • Using array() which creates arrays, not lists
2. Which of the following is the correct syntax to add an element to the end of an existing list my_list in R?
easy
A. my_list[length(my_list) + 1] <- 5
B. my_list[length(my_list)] <- 5
C. my_list[[length(my_list) + 1]] <- 5
D. my_list[[length(my_list)]] <- 5

Solution

  1. Step 1: Understand list indexing in R

    Lists in R use double brackets [[ ]] to access or assign elements.
  2. Step 2: Add element at new position

    To add an element at the end, assign to my_list[[length(my_list) + 1]]. Single brackets return sublists, not elements.
  3. Final Answer:

    my_list[[length(my_list) + 1]] <- 5 -> Option C
  4. Quick Check:

    Use double brackets [[ ]] to add list elements [OK]
Hint: Use [[ ]] with length+1 to add list elements [OK]
Common Mistakes:
  • Using single brackets [] which return sublists
  • Assigning to existing last element index instead of length+1
  • Confusing vector indexing with list indexing
3. What is the output of the following R code?
my_list <- list(10, "apple", TRUE)
my_list[[length(my_list) + 1]] <- 3.14
my_list
medium
A. list(10, "apple", TRUE, 3.14)
B. list(10, "apple", TRUE)
C. list(10, "apple", TRUE, list(3.14))
D. Error: cannot add element

Solution

  1. Step 1: Initial list creation

    The list my_list starts with three elements: 10, "apple", and TRUE.
  2. Step 2: Adding new element at the end

    Using my_list[[length(my_list) + 1]] <- 3.14 adds 3.14 as the fourth element.
  3. Final Answer:

    list(10, "apple", TRUE, 3.14) -> Option A
  4. Quick Check:

    Adding element extends list length by 1 [OK]
Hint: Adding with [[length+1]] appends element [OK]
Common Mistakes:
  • Expecting no change to list
  • Thinking new element is nested list
  • Confusing single and double brackets
4. Identify the error in the following R code that tries to add an element to a list:
my_list <- list(1, 2, 3)
my_list[length(my_list) + 1] <- 4
medium
A. Using single brackets [] instead of double brackets [[ ]] for list element assignment
B. Using length(my_list) + 1 instead of length(my_list)
C. Assigning a number instead of a list
D. No error, code works fine

Solution

  1. Step 1: Understand list element assignment

    In R, list elements must be assigned with double brackets [[ ]] to assign the element itself.
  2. Step 2: Identify the mistake

    The code uses single brackets [] which assign a sublist, causing unexpected behavior or errors.
  3. Final Answer:

    Using single brackets [] instead of double brackets [[ ]] for list element assignment -> Option A
  4. Quick Check:

    Use [[ ]] to assign list elements [OK]
Hint: Use [[ ]] to assign list elements, not [ ] [OK]
Common Mistakes:
  • Using [] which returns sublists, not elements
  • Thinking length+1 is wrong index
  • Assuming assigning number is invalid
5. You want to create a list in R that contains a number, a character vector, and another list. Which code correctly creates this list?
hard
A. my_list <- list(42, list("a", "b"), list(TRUE, FALSE))
B. my_list <- list(42, ["a", "b"], list(TRUE, FALSE))
C. my_list <- list(42, c("a", "b"), [TRUE, FALSE])
D. my_list <- list(42, c("a", "b"), list(TRUE, FALSE))

Solution

  1. Step 1: Understand list elements types

    The list should contain a number, a character vector, and a nested list.
  2. Step 2: Check syntax for each element

    Character vectors use c(), lists use list(). Square brackets [] are invalid in R for these purposes.
  3. Step 3: Verify correct code

    my_list <- list(42, c("a", "b"), list(TRUE, FALSE)) correctly uses list(42, c("a", "b"), list(TRUE, FALSE)).
  4. Final Answer:

    my_list <- list(42, c("a", "b"), list(TRUE, FALSE)) -> Option D
  5. Quick Check:

    Use c() for vectors, list() for nested lists [OK]
Hint: Use c() for vectors and list() for nested lists [OK]
Common Mistakes:
  • Using square brackets [] which are invalid in R
  • Confusing vectors and lists syntax
  • Not nesting lists properly
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