| Crates.io | icentral-delta |
| lib.rs | icentral-delta |
| version | 0.1.0 |
| created_at | 2025-04-04 22:28:10.663822+00 |
| updated_at | 2025-04-04 22:28:10.663822+00 |
| description | Efficient computation and maintenance of biconnected components in dynamic graph structures using delta-based methods. |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1620862 |
| size | 105,079 |
The icentral-delta crate provides advanced tools to efficiently manage and compute biconnected components within graph structures, focusing on adjustments through articulation points and edges utilizing the delta-based method. This implementation enhances traditional approaches to betweenness centrality calculation by providing methods that specifically address the recalculation of centrality metrics when structural changes like edge insertions or deletions occur in dynamic networks.
The core feature of this crate lies in its ability to accurately maintain and compute biconnected components. Utilizing a delta-based strategy, it minimizes computational overhead during graph updates, making it highly suitable for applications requiring real-time analytics on dynamic graphs.
Key components include:
To integrate the icentral-delta crate into your Rust project, add the following to your Cargo.toml:
[dependencies]
icentral-delta = "0.1.0"
Below is a basic example demonstrating how to instantiate a BiconnectedComponentsDelta and perform a delta-based update:
use icentral_delta::{BiconnectedComponentsDelta, FindEdgeBccWithDelta};
// Assume `Graph` implements the required traits.
let mut biconnected_components = BiconnectedComponentsDelta::<Graph>::empty("example_graph");
let node_id: NodeId = ...; // Node ID of interest.
let edge: Edge = ...; // Edge to be evaluated.
// Compute biconnected components with delta.
biconnected_components.find_edge_bcc_with_delta(&mut bcc, &edge).unwrap();
It assumes familiarity with graph theories, such as nodes, edges, and biconnected components, and requires implementing traits for custom graph types.
Contributions are welcome! If you find a bug or want to add new features, please submit an issue or a pull request.
This README file was generated by an AI model and may not be 100% accurate, although it is intended to be helpful.
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.