有向图和无向图

您所在的位置:网站首页 matlab稀疏矩阵怎么输入 有向图和无向图

有向图和无向图

2024-05-20 23:49| 来源: 网络整理| 查看: 265

边列表

表示图信息的另一种方法是列出所有边。

例如,考虑创建与上面相同的无向图。

现在用边列表表示该图

Edge     Weight(A,B)(A,C)12(B,C)3

从边列表中很容易得出以下结论:该图包含三个唯一节点 A、B 和 C,这三个节点通过三条列出的边相连。如果该图有断开的节点,边列表中将不会列出这些节点,您需要单独指定它们。

在 MATLAB 中,边列表按列划分为源节点和目标节点。对于有向图,边的方向(从源到目标)很重要;但对于无向图,源节点和目标节点是可以互换的。使用边列表构建该图的一种方法是,对源节点、目标节点和边权重使用单独的输入:

source_nodes = {'A','A','B'}; target_nodes = {'B','C','C'}; edge_weights = [1 2 3]; G = graph(source_nodes, target_nodes, edge_weights);

graph 和 digraph 都允许使用边列表构造简单图或多重图。构建图 G 后,可以使用命令 G.Edges 查看边(及其属性)。这些边在 G.Edges 中的顺序首先按源节点(第一列)排列,其次按目标节点(第二列)排列。对于无向图,索引较小的节点列为源节点,索引较大的节点列为目标节点。

由于 graph 和 digraph 的底层实现取决于稀疏矩阵,因此许多相同的索引创建成本均适用。使用前述方法之一基于三元对组 (source,target,weight) 一次性构建图比先创建空图再以迭代方式添加更多节点和边要快。为获得最佳性能,请尽量减少对 graph、digraph、addedge、addnode、rmedge 和 rmnode 的调用次数。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3