Bird
Raised Fist0
DSA Pythonprogramming~15 mins

Traversal Forward and Backward in DSA Python - Build from Scratch

Choose your learning style10 modes available
Traversal Forward and Backward
📖 Scenario: Imagine you have a list of daily temperatures recorded in order. You want to look at these temperatures both from the start to the end (forward) and from the end back to the start (backward) to understand the pattern.
🎯 Goal: You will create a list of temperatures, then write code to traverse this list forward and backward, printing the temperatures in both directions.
📋 What You'll Learn
Create a list called temperatures with exact values: [23, 25, 21, 19, 22]
Create a variable called length that stores the length of the temperatures list
Use a for loop with variable i to traverse temperatures forward from index 0 to length - 1
Use a for loop with variable i to traverse temperatures backward from index length - 1 to 0
Print the temperatures in forward order separated by spaces
Print the temperatures in backward order separated by spaces
💡 Why This Matters
🌍 Real World
Traversing data forward and backward is useful in many real-life situations like reading sensor data, browsing history, or undo-redo operations.
💼 Career
Understanding how to move through data structures in both directions is a fundamental skill for software developers, data analysts, and anyone working with ordered data.
Progress0 / 4 steps
1
Create the temperature list
Create a list called temperatures with these exact values: [23, 25, 21, 19, 22]
DSA Python
Hint

Use square brackets to create a list and separate numbers with commas.

2
Create a variable for the list length
Create a variable called length that stores the length of the temperatures list using the len() function
DSA Python
Hint

Use len(temperatures) to get the number of items in the list.

3
Traverse the list forward and backward
Use a for loop with variable i to traverse temperatures forward from index 0 to length - 1 and print each temperature separated by spaces. Then use another for loop with variable i to traverse temperatures backward from index length - 1 to 0 and print each temperature separated by spaces.
DSA Python
Hint

Use range(length) for forward and range(length - 1, -1, -1) for backward traversal.

4
Print the forward and backward traversal results
Print the temperatures in forward order separated by spaces, then print the temperatures in backward order separated by spaces. The output should be exactly:
23 25 21 19 22
22 19 21 25 23
DSA Python
Hint

Check your print statements and loops to ensure the output matches exactly.

Practice

(1/5)
1. What does traversal forward mean when moving through a list?
easy
A. Visiting elements randomly
B. Visiting elements from the last to the first
C. Visiting elements from the first to the last
D. Skipping every other element

Solution

  1. Step 1: Understand traversal direction

    Traversal forward means starting at the beginning of the list and moving step-by-step to the end.
  2. Step 2: Compare options

    Only Visiting elements from the first to the last describes visiting elements from first to last, which matches forward traversal.
  3. Final Answer:

    Visiting elements from the first to the last -> Option C
  4. Quick Check:

    Forward traversal = first to last [OK]
Hint: Forward means start to end in order [OK]
Common Mistakes:
  • Confusing forward with backward traversal
  • Thinking traversal means skipping elements
  • Assuming traversal is random
2. Which of the following Python loops correctly traverses a list items backward?
easy
A. for i in range(len(items)): print(items[i])
B. for i in range(len(items)-1, -1, -1): print(items[i])
C. for i in items: print(i)
D. for i in range(0, len(items), 2): print(items[i])

Solution

  1. Step 1: Identify backward traversal syntax

    Backward traversal uses a loop that starts from the last index and moves to the first, decreasing the index.
  2. Step 2: Check each option

    for i in range(len(items)-1, -1, -1): print(items[i]) uses range(len(items)-1, -1, -1), which counts backward correctly.
  3. Final Answer:

    for i in range(len(items)-1, -1, -1): print(items[i]) -> Option B
  4. Quick Check:

    Backward loop uses decreasing range [OK]
Hint: Use range with step -1 for backward loops [OK]
Common Mistakes:
  • Using range(len(items)) for backward traversal
  • Forgetting to set step as -1
  • Using direct iteration which is forward only
3. What is the output of this code?
items = [10, 20, 30]
for i in range(len(items)-1, -1, -1):
    print(items[i], end=' ')
medium
A. 30 20 10
B. 10 20 30
C. 0 1 2
D. SyntaxError

Solution

  1. Step 1: Understand the loop range

    The loop runs from index 2 down to 0 (inclusive), so it visits indices 2, 1, 0 in order.
  2. Step 2: Print elements in backward order

    items[2] = 30, items[1] = 20, items[0] = 10, printed with spaces.
  3. Final Answer:

    30 20 10 -> Option A
  4. Quick Check:

    Backward print = 30 20 10 [OK]
Hint: Backward range prints list in reverse order [OK]
Common Mistakes:
  • Confusing index order and printing forward
  • Misreading range parameters
  • Expecting index numbers instead of list values
4. Find the error in this backward traversal code:
items = [1, 2, 3, 4]
for i in range(len(items)):
    print(items[len(items)-i])
medium
A. IndexError due to out-of-range index
B. SyntaxError because of missing colon
C. Prints elements forward instead of backward
D. No error, prints backward correctly

Solution

  1. Step 1: Analyze index calculation

    Index used is len(items)-i. For i=0, index is 4, which is out of range (max index 3).
  2. Step 2: Identify error type

    Accessing index 4 causes IndexError because list indices go from 0 to 3.
  3. Final Answer:

    IndexError due to out-of-range index -> Option A
  4. Quick Check:

    Index out of range = IndexError [OK]
Hint: Check if index goes beyond list length [OK]
Common Mistakes:
  • Using len(items)-i instead of len(items)-1-i
  • Ignoring zero-based indexing
  • Assuming no error if code runs partially
5. Given a doubly linked list with nodes head and tail, which approach correctly prints all elements forward then backward?
hard
A. Traverse from tail to head, then from head to tail
B. Traverse only from head to tail twice
C. Traverse randomly from any node
D. Traverse from head to tail printing, then from tail to head printing

Solution

  1. Step 1: Understand doubly linked list traversal

    Doubly linked lists allow moving forward from head to tail and backward from tail to head using next and prev pointers.
  2. Step 2: Identify correct traversal order

    To print forward then backward, first traverse from head to tail, then from tail to head.
  3. Final Answer:

    Traverse from head to tail printing, then from tail to head printing -> Option D
  4. Quick Check:

    Forward then backward traversal = head to tail, tail to head [OK]
Hint: Use head-to-tail then tail-to-head for full traversal [OK]
Common Mistakes:
  • Trying to traverse backward without tail pointer
  • Traversing forward twice instead of backward
  • Assuming singly linked list can traverse backward
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