iCentral Graph Interface
icentral-graph-interface is a robust Rust crate structured to empower developers working with graph structures and implementing graph-theoretic algorithms. This crate provides traits that abstract functionalities related to graph traversal, pathfinding, and the management of complex graph-based data structures, and is specifically oriented towards tasks involving Minimum Union Cycles and Betweenness Centrality, among other complex computations.
Features
- Graph Validation: Utilize
IsValidto ascertain graph correctness. - Minimum Cycle Basis Identification: Employ
McbFindto find algorithmically relevant cycles. - Iterative Debugger: Use
InitDebugIterationandDebugIterationStepfor detailed iteration debugging. - Shortest Path Algorithms: Apply
FindSingleSourceShortestPathsfor efficient shortest path calculations. - Distance Mapping: Leverage
CreateDistanceMapsto generate comprehensive distance maps. - Betweenness Centrality: Initialize with
InitBetweennessCentralityfor advanced centrality analysis. - Graph Connectivity: Analyze connected components and pruning with
GetConnectedComponentSizesandFindPruningCounts.
Installation
Add the following line to your Cargo.toml under [dependencies]:
= "0.1.0"
Usage
Implement the desired traits in a struct managing your graph data:
use ;
;
Contributing
We welcome and appreciate contributions. Feel free to explore, report bugs, and contribute.
License
Licensed under the MIT License.
This README.md was generated by an AI model and may not be 100% accurate, however it should be pretty good.
This crate is in the process of being translated from c++ to rust. Currently, it still needs exhaustive testing. It is likely there currently exist many glitches which need to be fixed before proper usage. This crate is based on the original icentral program developed by Fuad Jamor. Please see the following repository for details: https://github.com/fjamour/icentral.
For progress updates, see the workspacer rust project.