Bird
Raised Fist0
DSA Pythonprogramming~5 mins

Array Deletion at Beginning in DSA Python - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Array Deletion at Beginning
O(n)
Understanding Time Complexity

When we delete an element from the start of an array, the time it takes depends on how many elements need to move.

We want to know how the work grows as the array gets bigger.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

def delete_first_element(arr):
    if len(arr) == 0:
        return arr
    for i in range(1, len(arr)):
        arr[i - 1] = arr[i]
    arr.pop()
    return arr

This code removes the first element of the array by shifting all other elements one step left.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The for-loop that shifts elements left by one position.
  • How many times: It runs once for each element after the first, so roughly n-1 times for an array of size n.
How Execution Grows With Input

As the array size grows, the number of shifts grows almost the same way.

Input Size (n)Approx. Operations
109 shifts
10099 shifts
1000999 shifts

Pattern observation: The work grows linearly with the number of elements.

Final Time Complexity

Time Complexity: O(n)

This means the time to delete the first element grows directly with the array size.

Common Mistake

[X] Wrong: "Deleting the first element is always fast because it's just one removal."

[OK] Correct: Because all other elements must move to fill the gap, which takes time proportional to the array size.

Interview Connect

Understanding this helps you explain why some data structures are better for front deletions, showing your grasp of efficiency.

Self-Check

"What if we deleted the last element instead of the first? How would the time complexity change?"

Practice

(1/5)
1. What happens to an array when you delete the first element in Python using del arr[0]?
easy
A. The first element is removed and the rest shift left by one position.
B. The last element is removed instead of the first.
C. The array becomes empty regardless of its size.
D. The array remains unchanged.

Solution

  1. Step 1: Understand del arr[0] operation

    This command removes the element at index 0, which is the first element of the array.
  2. Step 2: Effect on the array

    After deletion, all elements after the first shift one position to the left to fill the gap.
  3. Final Answer:

    The first element is removed and the rest shift left by one position. -> Option A
  4. Quick Check:

    Deleting first element shifts others left [OK]
Hint: Deleting index 0 removes first element and shifts left [OK]
Common Mistakes:
  • Thinking last element is removed
  • Assuming array becomes empty
  • Believing array stays the same
2. Which of the following is the correct syntax to delete the first element of a list named arr in Python?
easy
A. del arr(0)
B. del arr[0]
C. arr.delete(0)
D. arr.remove(0)

Solution

  1. Step 1: Check Python syntax for deleting by index

    Python uses del arr[index] to delete element at a specific index.
  2. Step 2: Analyze options

    del arr[0] uses correct syntax del arr[0]. del arr(0) uses parentheses which is invalid. arr.delete(0) uses a method that does not exist. arr.remove(0) removes by value, not index.
  3. Final Answer:

    del arr[0] -> Option B
  4. Quick Check:

    Use del with square brackets for index deletion [OK]
Hint: Use del with square brackets to delete by index [OK]
Common Mistakes:
  • Using parentheses instead of square brackets
  • Confusing remove() with delete by index
  • Trying to call a non-existent delete() method
3. What is the output of the following code?
arr = [10, 20, 30, 40]
del arr[0]
print(arr)
medium
A. [20, 30, 40]
B. [10, 20, 30]
C. [30, 40]
D. [10, 20, 30, 40]

Solution

  1. Step 1: Delete first element from array

    The command del arr[0] removes the element 10 at index 0.
  2. Step 2: Remaining elements shift left

    After deletion, the array becomes [20, 30, 40].
  3. Final Answer:

    [20, 30, 40] -> Option A
  4. Quick Check:

    First element removed, rest shifted left [OK]
Hint: Deleting index 0 removes first element, print rest [OK]
Common Mistakes:
  • Expecting first element to remain
  • Confusing deletion with removing last element
  • Printing original array without deletion
4. Find the error in the code below that tries to delete the first element of the list arr:
arr = [5, 10, 15]
arr.delete(0)
print(arr)
medium
A. The print statement is incorrect.
B. The index 0 is out of range.
C. The list is empty, so deletion fails.
D. The method delete() does not exist for lists.

Solution

  1. Step 1: Check list methods for deletion

    Python lists do not have a method called delete(). Deletion by index uses del keyword or pop() method.
  2. Step 2: Identify correct deletion method

    To delete first element, use del arr[0] or arr.pop(0). Using arr.delete(0) causes AttributeError.
  3. Final Answer:

    The method delete() does not exist for lists. -> Option D
  4. Quick Check:

    Use del or pop, not delete() [OK]
Hint: Lists have no delete() method; use del or pop [OK]
Common Mistakes:
  • Using delete() method on list
  • Assuming delete() works like in other languages
  • Ignoring AttributeError from wrong method
5. You have an array arr = [1, 2, 3, 4, 5]. You want to delete the first element and then add 0 at the beginning. Which code correctly does this in Python?
hard
A. arr.remove(0) arr.insert(0, 0) print(arr)
B. arr.pop(0) arr.append(0) print(arr)
C. del arr[0] arr.insert(0, 0) print(arr)
D. del arr[1] arr.insert(0, 0) print(arr)

Solution

  1. Step 1: Delete first element correctly

    Using del arr[0] removes the first element (1) from the array.
  2. Step 2: Insert 0 at the beginning

    Using arr.insert(0, 0) adds 0 at index 0, shifting others right.
  3. Step 3: Check other options

    arr.pop(0) arr.append(0) print(arr) appends 0 at the end, not beginning. arr.remove(0) arr.insert(0, 0) print(arr) tries to remove value 0 which is not in array. del arr[1] arr.insert(0, 0) print(arr) deletes second element, not first.
  4. Final Answer:

    del arr[0] arr.insert(0, 0) print(arr) -> Option C
  5. Quick Check:

    Delete first, then insert at start [OK]
Hint: Delete index 0, then insert new element at index 0 [OK]
Common Mistakes:
  • Appending instead of inserting at start
  • Removing value 0 instead of index 0
  • Deleting wrong index
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