Implement class called Graph with DFS operation. Create a Driver to test your graph and DFS operation.

At minimum you need 5 files: LinkedList, Node, Stack, Graph and your Driver.


  • You are welcome yo use your LinkedList from previous project (You need to submit it with this project). At minimum, your Graph class needs an operation called add_edge beside DFS operation.
    • add_edge operation needs to cover a corner case(s) such as Graph with one vertex.
  • Do not use recursion to implement the DFS operation, instead use Stack data structure.
    • Stack can use Vector or an array. If you decided to use Vector, create separate Vector class in different file.
  • Make sure your DFS implementation covers corner case(s) such as disconnected graphs.
  • You cannot use built-in or external data structure libraries.


  • DFS - Disconnected Graphs
  • DFS - One Connected Graph
  • Topological Sort of each DFS run.
  • Graph of each run.
Academic Honesty!
It is not our intention to break the school's academic policy. Projects posted are only used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly fill out the form. Please provide a valid email address and we'll get back to you in less than 24 hours. We will be sending an invoice through PayPal upon confirmation. We are a non profit organization however we need an amount to keep this organization running, and to be able to complete our research and development.