You must draw the diagrams showing the steps of the algorithms. You can do it by hand or digitally. While drawing the sequence of diagrams is a time-consuming task, they help you understand how to create your own algorithms for the lists. Please answer questions 1 through 6. In addition, the attached pdf can help on the maze question.
CSE2010 – Linked Lists
1. Implement the insertAfter() and delete() methods for a doubly linked list (List
uses sentinels).
2. Implement the insertAfterNoDuplicates() of the doubly linked list so the list has
no duplicates.
3. Write a recursive routine to count the number of nodes in a doubly linked list.
4. Write a countInteger() function that counts the number of times a given integer
occurs in a doubly linked list.
5. Write a function deleteList() that deletes all nodes of a doubly linked list so that
the list becomes empty.
6. Suppose that you want to navigate a maze like the one in Figure 1. As you navigate
the maze, you will find yourself at “choice points” (i.e., point where you need to select
a direction among a number of possible directions). But, once you take one of those
directions you may reach a “dead end”. Write an algorithm that solves the mazenavigation problem. Luckily, the solution is to use some basic data structure.
Figure 1: A maze.
1