Bird
Raised Fist0
DSA Typescriptprogramming~5 mins

Traversal Forward and Backward in DSA Typescript - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does forward traversal mean in a linked list?
Forward traversal means moving from the first node to the last node, visiting each node one by one in order.
Click to reveal answer
beginner
What is backward traversal in a doubly linked list?
Backward traversal means moving from the last node to the first node, visiting each node in reverse order using the previous links.
Click to reveal answer
beginner
Why can't we do backward traversal in a singly linked list?
Because singly linked lists only have links to the next node, not to the previous one, so we cannot move backward easily.
Click to reveal answer
beginner
In TypeScript, which property do you use to move forward in a doubly linked list node?
You use the next property to move forward to the next node.
Click to reveal answer
beginner
In TypeScript, which property do you use to move backward in a doubly linked list node?
You use the prev property to move backward to the previous node.
Click to reveal answer
Which traversal direction is NOT possible in a singly linked list without extra memory?
ABackward traversal
BBoth forward and backward traversal
CForward traversal
DNone of the above
In a doubly linked list, which pointer helps in backward traversal?
Aprev
Bnext
Chead
Dtail
What is the first step in forward traversal of a linked list?
AStart at the tail node
BStart at the head node
CStart at the middle node
DStart at any random node
Which data structure allows easy traversal both forward and backward?
AQueue
BSingly linked list
CStack
DDoubly linked list
If you want to print all nodes from last to first, which traversal do you use?
AForward traversal
BDepth-first traversal
CBackward traversal
DRandom traversal
Explain how forward and backward traversal work in a doubly linked list.
Think about which pointers connect nodes in each direction.
You got /4 concepts.
    Why is backward traversal not straightforward in singly linked lists? How can it be achieved if needed?
    Consider the links available in singly linked lists.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does forward traversal in a linked list mean?
      easy
      A. Visiting nodes randomly without order
      B. Visiting nodes from the tail to the head in order
      C. Skipping every other node while traversing
      D. Visiting nodes from the head to the tail in order

      Solution

      1. Step 1: Understand linked list structure

        A linked list has nodes connected from head to tail in one direction.
      2. Step 2: Define forward traversal

        Forward traversal means visiting nodes starting at the head and moving to the tail in order.
      3. Final Answer:

        Visiting nodes from the head to the tail in order -> Option D
      4. Quick Check:

        Forward traversal = head to tail [OK]
      Hint: Forward means start at head and go next nodes [OK]
      Common Mistakes:
      • Confusing forward with backward traversal
      • Thinking traversal is random
      • Assuming skipping nodes is traversal
      2. Which TypeScript syntax correctly traverses an array forward using a for loop?
      easy
      A. for(let i = arr.length; i >= 0; i--) { console.log(arr[i]); }
      B. for(let i = 0; i < arr.length; i++) { console.log(arr[i]); }
      C. for(let i = 1; i <= arr.length; i++) { console.log(arr[i]); }
      D. for(let i = arr.length - 1; i > 0; i--) { console.log(arr[i]); }

      Solution

      1. Step 1: Identify forward traversal loop

        Forward traversal starts at index 0 and goes up to length-1.
      2. Step 2: Check loop conditions

        for(let i = 0; i < arr.length; i++) { console.log(arr[i]); } loops from 0 to less than arr.length, printing each element correctly.
      3. Final Answer:

        for(let i = 0; i < arr.length; i++) { console.log(arr[i]); } -> Option B
      4. Quick Check:

        Forward loop index from 0 to length-1 [OK]
      Hint: Start index 0, end before length for forward loop [OK]
      Common Mistakes:
      • Starting index at 1 instead of 0
      • Using i <= arr.length causing out-of-bounds
      • Looping backward for forward traversal
      3. What is the output of this TypeScript code?
      const arr = [10, 20, 30];
      for(let i = arr.length - 1; i >= 0; i--) {
        console.log(arr[i]);
      }
      medium
      A. 30 20 10
      B. 10 20 30
      C. 30 20
      D. Error: Index out of bounds

      Solution

      1. Step 1: Understand loop start and end

        The loop starts at index 2 (arr.length - 1) and goes down to 0.
      2. Step 2: Trace output values

        It prints arr[2] = 30, arr[1] = 20, arr[0] = 10 in that order.
      3. Final Answer:

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

        Backward traversal prints 30 20 10 [OK]
      Hint: Backward loop starts at length-1 down to 0 [OK]
      Common Mistakes:
      • Thinking output is forward order
      • Missing last element at index 0
      • Assuming error due to loop
      4. Identify the error in this backward traversal code for a linked list:
      let current = head;
      while(current !== null) {
        console.log(current.value);
        current = current.prev;
      }
      medium
      A. It should use current.next instead of current.prev
      B. No error, code is correct
      C. It should start from tail, not head
      D. It should check current.next !== null in while condition

      Solution

      1. Step 1: Understand backward traversal in linked list

        Backward traversal uses prev pointers starting from the tail node.
      2. Step 2: Check starting node

        The code starts at head, but to go backward, it must start at tail.
      3. Final Answer:

        It should start from tail, not head -> Option C
      4. Quick Check:

        Backward traversal starts at tail [OK]
      Hint: Backward traversal must start at tail node [OK]
      Common Mistakes:
      • Starting backward traversal at head
      • Using next instead of prev for backward
      • Wrong loop condition check
      5. Given a doubly linked list, how would you print all values backward starting from the head node?
      hard
      A. Traverse forward to tail, then traverse backward from tail to head
      B. Traverse backward directly from head using prev pointers
      C. Use only next pointers starting from head to print backward
      D. Reverse the list first, then traverse forward

      Solution

      1. Step 1: Understand doubly linked list structure

        Each node has next and prev pointers; head has no prev, tail has no next.
      2. Step 2: Plan backward print from head

        To print backward from head, first move forward to tail using next pointers.
      3. Step 3: Traverse backward from tail

        From tail, use prev pointers to print nodes backward to head.
      4. Final Answer:

        Traverse forward to tail, then traverse backward from tail to head -> Option A
      5. Quick Check:

        Backward print from head requires forward then backward traversal [OK]
      Hint: Go forward to tail, then backward to print [OK]
      Common Mistakes:
      • Trying to go backward directly from head
      • Using next pointers to print backward
      • Reversing list unnecessarily
      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