| Crates.io | icentral-brandes |
| lib.rs | icentral-brandes |
| version | 0.1.0 |
| created_at | 2025-04-04 22:27:26.104206+00 |
| updated_at | 2025-04-04 22:27:26.104206+00 |
| description | Efficient Rust implementation of the Brandes algorithm for computing betweenness centrality in complex graph structures. Includes support for incremental updates and employs multi-threading for enhanced performance. |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1620859 |
| size | 106,423 |
The icentral-brandes crate is a comprehensive Rust implementation of the Brandes algorithm tailored for efficient computation of betweenness centrality in large and complex graphs. The crate facilitates both standard and incremental betweenness centrality computations. This is achieved through advanced data structures specifically designed to handle graph adjacency, path counting, and dependency tracking with precision. The crate leverages multi-threading capabilities and mutable graph access, ensuring optimal performance for processing high-density networks.
use icentral_brandes::{BrandesDeltaStepAdjacentWorkspace, brandes_betweenness_centrality};
fn main() {
let graph = // Initialize your graph here
let scores = brandes_betweenness_centrality(&graph).expect("Failed to compute betweenness centrality");
// Use the scores...
}
Classes within this crate meticulously handle edge case scenarios to ensure consistency across various graph topologies. Techniques such as the Delta-stepping approach and adjacency-based stepping offer precise control over node evaluation and path discovery processes, yielding accurate centrality measures.
The Delta-step methods provide increased efficiency by partitioning graph iterations and selectively adjusting dependencies, beneficial for dynamically evolving graph structures.
This README.md was generated by an AI model and may not be 100% accurate, though 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.