I am an advanced-intermediate level student focused on the .NET and C#. I know all the basics as well as classes, methods, objects, inheritance, OOP principles and all that. Problem is we haven't covered data structures like trees and graphs yet.
Basically what I need my program to be able to do is this:
Part 1 Console application:
- Go online to a specific website and following the net of links on it, starting with the main page, create a directed graph with weightless edges and store it locally, so that it can be used without internet connection.
- Be able to recreate the graph from the locally saved data and then by given 2 links as parameters to find and print the shortest path between them.
Part 2 Some sort of UI:
- By given webpage address and depth - visually represent in the browser a tree structure with the given website as root and the level of depth of the possible pages accessible by following the links from it.
I would really appreciate it if you can direct me in the choices I have to make to accomplish this task. Mainly I am puzzled by these:
- How to represent a graph in C#.
- How to save it locally (program must finish within 5 seconds, so I cannot go online and do everything from scratch).
- What should I use for the UI part with the tree visualization.
I don't seek for complete answers rather than good directives. I need to learn these fast and not to waste precious time wandering.