Graph traversal is the problem of visiting all the nodes in a graph in a particular manner, updating and/or checking their values along the way. There are two methods for graph traversal, they are as follows.
Depth-first search: DFS visits the child nodes before visiting the sibling nodes; that is, it traverses the depth of any particular path before exploring its breadth.
Breadth-first search: FS visits the parent nodes before visiting the child nodes.
In computer science, a stack or LIFO (last in, first out) is an abstract data type that serves as a collection of elements, with two principal operations: push adds an element to the collection; pop removes the last element that was added. (Via Wikipedia)
Here is java code for implementation of stack using linked list in java.
A circular queue is an abstract data type that contains a collection of data which allows addition of data at the end of the queue and removal of data at the beginning of the queue. Circular queues have a fixed size.
Circular queue follows FIFO principle. Queue items are added at the rear end and the items are deleted at front end of the circular queue.
A doubly-linked list is a linked data structure that consists of a set of sequentially linked records called nodes. Each node contains two fields, called links, that are references to the previous and to the next node in the sequence of nodes.
A doubly-linked list whose nodes contain three fields: an integer value, the link to the next node, and the link to the previous node.
The two node links allow traversal of the list in either direction. Here is java implementation of DLL.