https://github.com/dpetrosy/saed_graph_project
In this repository, I store my course project about graph theory, which I've done during my university education.
https://github.com/dpetrosy/saed_graph_project
algorithms console-application course-work cpp cpp11 data-structures graph graph-algorithms graph-theory graph-visualization problem-solving spanning-tree tree university-project
Last synced: 7 months ago
JSON representation
In this repository, I store my course project about graph theory, which I've done during my university education.
- Host: GitHub
- URL: https://github.com/dpetrosy/saed_graph_project
- Owner: dpetrosy
- License: mit
- Created: 2022-06-08T19:55:46.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-02-05T14:07:04.000Z (over 1 year ago)
- Last Synced: 2025-01-29T18:46:40.377Z (8 months ago)
- Topics: algorithms, console-application, course-work, cpp, cpp11, data-structures, graph, graph-algorithms, graph-theory, graph-visualization, problem-solving, spanning-tree, tree, university-project
- Language: C++
- Homepage:
- Size: 605 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 📜 About Project
**SAED** stands for Synopsys Armenia Educational Department, the university where I received my bachelor's degree. \
This project is course work that I have done during SAED's discrete mathematics course. \
The program finds a spanning tree in the user's inputted graph. \
For program-correct work, you must have [Graphviz](https://graphviz.org/) on your computer.## 📶 Program Work Steps:
1. Get graph edges by reading the input file `input.txt`
2. Build an adjacency matrix for the given graph.
3. By using the adjacency matrix, make a simple graph from the given graph.
4. Check if the simple graph is connected or not, because a given graph must be connected.
5. If the graph is connected, find the spanning tree using the DFS algorithm.
6. Visualize the inputted graph and the spanning tree with Graphviz. \
[Input example](README_files/input_example.txt) [Output example](README_files/output_example.jpg)## 👨💻 Getting Started
1. Start by updating the packages list: `sudo apt update`
2. Install the G++ compiler if you don't have: `sudo apt install build-essential`
3. Check installation with the command: `g++ --version`
4. Make must be installed with the build-essential package; check it: `make --version`
5. Install the make package if you don't have: `sudo apt install make`
6. Install Graphviz if you don't have: `sudo apt install graphviz`
7. Check installation with the command: `dot -V`
8. Clone this repo: `git clone https://github.com/dpetrosy/SAED_graph_project.git`
9. Go to directory: `cd graph_course_project`
10. Run the make and build program: `make`
11. Run executable: `./graph.exe`Congrats! Now you can see your inputted graph and found the spanning tree :) \
You can change the `input.txt` file and see how the program works 😎