#无向图 #二叉树 #网络 #泛型 #结构 #树结构

无std btree_network

泛型网络(无向图)数据结构

3个不稳定版本

0.2.3 2021年1月25日
0.2.2 2021年1月21日
0.2.1 2021年1月21日
0.1.3 2021年1月21日

#2067 in 数据结构

MIT/Apache

29KB
463 代码行

二叉树网络(btree_network)

CodeBuild Version badge Docs badge

这个库通过单个二叉树映射(BTreeMap)实现了一个网络(抽象数据结构)。这种实现通常被称为邻接表。

本实现的主要目标是简洁且符合Rust语言风格。在默认功能编译下,alloc包是唯一依赖,且为必需项。正如可以想象的那样,alloc是必需的,因为实现依赖于BTreeMap(以及BTreeSet包装器)。

示例

use crate::BTreeNetwork;

fn main() {
    let mut network: BTreeNetwork<String> = BTreeNetwork::new();
    // Add nodes.
    network.add_vertex(String::from("Tarzan"));
    network.add_vertex(String::from("Jane"));
    // Add a relationship.
    network.add_edge(String::from("Tarzan"), String::from("Jane"));
    
    // Assert relationship now exists.
    assert!(network.adjacdent(String::from("Tarzan"), String::from("Jane")));
}

用法

将以下内容添加到您的 Cargo.toml 文件中

[dependencies]
btree_network = "0.2.3"

API

请参阅API以获取所有可用方法的完整列表。

许可

本作品同时受MIT或Apache-2.0许可。

依赖项

~0–520KB
~11K SLoC