#OOP_First_Assignment
This repo will contain the code for the first assignment in the OOP course at Ariel University. The assignment is to implement three interfaces in java that together construct an undirected, unweighted graph.
The class NodeData is in charge of the data each node is storing, i.e. its neighbors, tag, key, etc.
The class Graph_DS stores the nodes of the graph and their connections. It has all the necessary methods in order to build a graph from the ground up, e.g. addNode, removeNode, connect, etc.
The class Graph_Algo contains mehods that use BFS algorithm in order to answer questions about the graph such as 'Is the graph connected?' or 'What is the shortest path from this node to that one?'.
All the classes in this repo were written by Tal Zichlinsky with the help of the following sources:
https://www.youtube.com/watch?v=oDqjPvD54Ss&t=296s https://www.youtube.com/watch?v=s-CYnVz-uh4&t=1727s