https://github.com/vvkin/graph-sandbox
WinForms application for building graphs and processing (with visualizing) classic graph theory algorithms on it.
https://github.com/vvkin/graph-sandbox
csharp discrete-mathematics graph-algorithms graph-theory oop winforms
Last synced: 4 months ago
JSON representation
WinForms application for building graphs and processing (with visualizing) classic graph theory algorithms on it.
- Host: GitHub
- URL: https://github.com/vvkin/graph-sandbox
- Owner: vvkin
- Created: 2020-03-02T15:59:32.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-08-27T21:15:22.000Z (about 4 years ago)
- Last Synced: 2025-04-10T18:48:38.546Z (7 months ago)
- Topics: csharp, discrete-mathematics, graph-algorithms, graph-theory, oop, winforms
- Language: C#
- Homepage:
- Size: 967 KB
- Stars: 7
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Graph Sandbox
## What is it
Graph Sandbox is a desktop application written with C# & WinForms. It provides functionality to build graphs of any form via a handy GUI. It's easy to process step-by-step classic graph theory algorithms on it. Furthermore, graphs can be downloaded/uploaded using XML files to save the results of work. If you have searched for application to learn graph theory by example, it's for you!
## Features
* Constructor. Using only a mouse it's easy to create sets of vertices and edges. Also, the application allows to move vertices, bend edges, set edges weight and make it both directed and undirected.
* Algorithms. There are more than 10 graph algorithms implemented including Dijkstra, BFS, DFS, Ford-Fulkerson, Force algorithm, and more. Any of it can be executed step by step with сlear visualization.
* Backupable. Graphs can be both downloaded and uploaded using a comprehensive configuration with XML format.
* Controls. The side dropdown menu provides all of the functionality via intuitive buttons.
## Algorithms
Graph Sandbox provides implementation and visualization of a lot of graph theory algorithms:
* Dijkstra
* Connected components
* DFS
* BFS
* Ford-Fulkerson
* Colouring
* M-Colouring
* Prim
* Kruskal
* Kuhn
* Force algorithm
## XML Format
Use "Download/upload graph" control to save created graph or upload the existing one. XML graph description does not include any information about vertices coordinates on canvas. Therefore, it will be placed on it using Force algorithm. Graph appearance can be changed if needed.
### Example
Application uses GraphML format to deal with it.
```xml
2,0
1,0
5,0
```
## Examples of work
### Main functionality

### Graph example

### Dijkstra algorithm

### Ford-Fulkerson algorithm
