CXXGraph
CXXGraph
Introduction
CXXGraph is a small library, header only, that manages the Graph and it's algorithms in C++. In other words a "Comprehensive C++ Graph Library" An alternative to Boost Graph Library (BGL).
We are Looking for...
We are looking for:
- Site Developer for the development of the CXXGraph site ( for the moment on GitHub Page );
- Developers and Committers, also at first experience, we will guide you step by step to the open-source world!
If you are interested, please contact us at zigrazor@gmail.com or contribute to this project. We are waiting for you!
Roadmap
Completed | Description | Date of Completition |
---|---|---|
First Optimization | Apr 4, 2022 | |
Add Benchmark for all algorithms | Oct 5, 2022 | |
Code Optimization | Oct 5, 2022 | |
Release 0.4.0 | Oct 7, 2022 | |
"Const" Code Review #155 | Mar 23, 2023 | |
Release 0.5.0 | Mar 23, 2023 | |
Test |
CXXGraph is an Header-Only library, that manages the Graph and it's algorithms in C++. In other words a "Comprehensive C++ Graph Library".
Goal of the library
The main goal of the library is to provide a user-friendly interface, and a simple startup ( for this reason I opted for Header-Only ).
On the other hand, the target is to create a comprehensive C++ library, with a wide variety of algorithms ( the aims is to have all the known and new algorithms in the field of graph ).
As said before, the library want to create a collaborative and inclusive group, where the passionate of Graph Theory, Graph Algorithm, and so on can share they knowledge and research.
List of Feature already present
- BFS
- DFS
- Best First Search
- Dijkstra
- Dial
- Prim's Algorithm
- Cycle Detection
- Bellman-Ford
- Floyd Warshall
- Kruskal Algorithm
- Borůvka's Algorithm
- Graph Slicing based on connectivity
- Ford-Fulkerson Algorithm
- Kosaraju's Algorithm
- Kahn's Algorithm
Other than these algorithms the library provides also some partition algorithms:
- Vertex-Cut
- Edge Balanced Vertex-Cut
- Greedy Vertex-Cut
- HDRF
- EBV
- WB-Libra
Future
The following is the expected Roadmap for the library ( obviously it can be changed in the future, and adapted to the request of users of the library )
Completed | Description | Date of Completition |
---|---|---|
✔️ | First Optimization | Apr 4, 2022 |
✔️ | Add Benchmark for all algorithms | Oct 5, 2022 |
✔️ | Code Optimization | Oct 5, 2022 |
✔️ | Release 0.4.0 | Oct 7, 2022 |
📝 | "Const" Code Review #155 | TBD |
📝 | Release 0.5.0 | TBD |
📝 | Official Site Release | TBD |
📝 | Reduction of Code Issue of Static Analysis | TBD |
📝 | First Stable Release 1.0.0 | TBD |
📝 | Markov Chain Algorithm #107 | TBD |
📝 | Release 1.0.1 | TBD |
📝 | FP-GraphMiner algorithm #105 | TBD |
📝 | Release 1.0.2 | TBD |
📝 | Tarjan's algorithm #103 | TBD |
📝 | Release 1.0.3 | TBD |
✔️ | Graph Topological Sort #104 | Nov 3, 2022 |
📝 | Release 1.1.0 | TBD |
📝 | Custom export and import #19 | TBD |
📝 | Input & Output file format #172 | TBD |
📝 | Release 1.2.0 | TBD |
✔️ | Multi-Thread implementation of BFS #121 | Dec 6, 2022 |
📝 | Release 1.2.1 | TBD |
❕ | Thread Safe implementations of Boruvka, Prim & Kruskal algorithm #128 | Oct 5, 2022 |
📝 | Release 1.3.0 | TBD |
📝 | Edge-Cut Partition Algorithm #183 | TBD |
📝 | Release 1.3.1 | TBD |
✔️ | WB-Libra Parttition Algorithm #178 | Nov 25, 2022 |
📝 | Release 1.4.0 | TBD |
📝 | Introduce Hypergraph #122 | TBD |
📝 | Stable Release 2.0.0 | TBD |
Why publish my project?
About 2 years ago I start this project with the idea to develop somenthing new, or to better say something that can help the developer in some cases or simple that does not have a "good" implementation in this language (C++).
In fact the goal of the library is the portability, simplicity of the interface, and the certainty of the correct execution of the algorithms.
Before this project start I search for somenthing like this, but I didn't find anything similar, so I had decided to start this project.
Now i need help to improve the library and to test it, so I need some C++ developers, someone that can create a good site for the library( also in Github Pages is good ) and some users for test the project.
Obviously any other partecipation is welcome!
If you have 5 minutes to get in touch, click on the project or write to me at zigrazor@gmail.com
Thank you so much!
Top comments (0)