Project for SOFTENG 281 (Object-Oriented Programming) in Part II of my Software Engineering degree @The University of Auckland. I scored 100% for this project (functionality + OO Design + codestyle).
- Java
- JUnit (for unit testing)
- Represent graphs using object-oriented concepts
- Implement my own data structures and understand their time & space complexity
- allow for O(1) insertion of a vertex that has been discovered
- O(1) removal of a vertex to be visited
- Unit testing with JUnit testing framework to write my own test cases
- Javadocs comments for best practice documentation
Try my graph calculator out for yourself! Clone the repository using git and open the project in your preferred Java IDE:
git clone https://github.com/your-username/graph-algorithms.git
- Graph traversal algorithms BFS and DFS (both iterative and recursive implementations) and their differences
- Graph theory and calculating graph relations: symmetry, reflexivity, transitivity and equivalence classes
- Integration of more graph algorithms e.g. Dijkstra's algorithm
- Support for weighted graphs
- Implementation of graph visualization

