主要内容

康康普

连通图分量

描述

例子

垃圾箱= conncomp (G返回连接组件图论G垃圾箱。bin编号表示图中的每个节点属于哪个组件。

  • 如果G是一个无向图,如果有一条路径连接两个节点,则它们属于同一分量。

  • 如果G是一个有向图,则只有当两个节点在两个方向上都有一条路径连接时,两个节点才属于同一个强分量。

例子

垃圾箱= conncomp (G名称、值使用由一个或多个名称-值对参数指定的其他选项。例如,连接组件(G,'OutputForm','cell')返回描述连接组件的单元格数组。

垃圾箱垃圾箱]=conncomp(___还返回连接的组件的大小。binsizes(我)给出组件中的节点数

例子

全部崩溃

创建和绘制一个无向图与三个连接的组件。使用康康普确定每个节点所属的组件。

G =图([1 1 4],[2 3 5],[1 1 1],6);情节(G)

图中包含一个坐标轴。坐标轴包含一个graphplot类型的对象。

垃圾箱= conncomp (G)
垃圾箱=1×61 1 1 2 2 3

建立并绘制有向图,然后计算强连通分量和弱连通分量。弱连通分量忽略连接边的方向。

S = [1 2 2 3 3 3 4 5 5 5 8 8];T = [2 3 4 1 4 5 5 3 6 7 9 10];G =有向图(s, t);情节(G,“布局”“分层”

图中包含一个坐标轴。坐标轴包含一个graphplot类型的对象。

str_bins = conncomp (G)
垃圾桶=1×104 4 4 4 4 6 5 1 3 2
weak_bins = conncomp (G,“类型”“弱”
weak_bins =1×101 1 1 1 1 1 1 2 2 2

使用的第二个输出康康普提取图形的最大分量或删除特定大小以下的分量。

创建并绘制有向图。该图有一个大组件、一个小组件和几个只包含单个节点的组件。

S = [1 2 2 3 3 3 4 5 5 5 8 8 9];T = [2 3 4 1 4 5 5 3 6 7 9 10 10];G =有向图(s t [], 20);情节(G,“布局”“分层”

图中包含一个坐标轴。坐标轴包含一个graphplot类型的对象。

计算弱连接组件并指定两个输出康康普来获取每个组件的大小。

[本,binsize] = conncomp (G,“类型”“弱”
本=1×201 1 1 1 1 1 1 2 2 2 3 4 5 6 7 8 9 10 11 12
装箱=1×127 3 1 1 1 1 1 1 1 1 1 1

使用binsize从图中提取最大的分量。idx是一个逻辑索引,指示每个节点是否属于最大的组件子图函数提取用户选择的节点idx从…起G

Idx = binsize(bin) == max(bin);SG =子图(G, idx);情节(SG)

图中包含一个坐标轴。坐标轴包含一个graphplot类型的对象。

的类似用法垃圾箱就是根据大小过滤出组件。这个过程类似于提取最大的组件,但是在这种情况下,每个节点可以属于满足大小要求的任何组件。

过滤掉任何输入的组件G小于3个节点。idx表示每个节点是否属于一个有3个或3个以上节点的组件的逻辑索引。

idx=binsize(bin)>=3;SG=子图(G,idx);绘图(SG)

图中包含一个坐标轴。坐标轴包含一个graphplot类型的对象。

输入参数

全部崩溃

输入图形,指定为有向图对象。使用创建无向图或有向图创建有向图。

例子:G=图(1,2)

例子:G =有向图([1,2],[2 3])

名称-值对参数

指定可选的逗号分隔的对名称、值论据。的名字参数名和价值是对应的值。的名字必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:名称1,值1,…,名称,值

例子:垃圾箱= conncomp (G, OutputForm”,“细胞”)

输出类型,指定为逗号分隔对,由“OutputForm”或者“向量”“细胞”

选项 输出
“向量”(默认) 垃圾箱是一个数字向量,指示每个节点所属的连接组件。
“细胞” 垃圾箱是单元阵列吗垃圾箱{j}包含属于组件的所有节点的节点idj

请注意

“类型”选项仅适用于使用创建万博1manbetx的有向图有向图

连接组件的类型,指定为由逗号分隔的对组成“类型”或者“强壮”(默认)或“弱”

选项 后果
“强壮”(默认) 只有当有一条路径将两个节点连接在一起时,它们才属于同一个连接组件二者都方向。
“弱” 如果两个节点之间有一条路径连接,则两个节点属于同一连通分量,忽略边缘方向。

例子:bins=conncomp(G,“类型”,“弱”)计算有向图的弱连通分量G

输出参数

全部崩溃

连接的组件,作为向量或单元格数组返回。bin编号将图中的每个节点分配给一个连接的组件:

  • 如果输出形式“向量”(默认),然后垃圾箱是一个数字向量,表示每个节点属于哪个连接组件(bin)。

  • 如果输出形式“细胞”,然后垃圾箱是单元阵列吗垃圾箱{j}包含属于组件的所有节点的节点IDj

每个连接组件的大小,作为向量返回。binsizes(我)给出组件中的元素数.的长度垃圾箱等于连接组件的数量,最大(垃圾箱)

更多关于

全部崩溃

弱连接组件

如果两个节点之间有一条路径连接(忽略边缘方向),则两个节点属于同一个弱连接分量。两个弱连接分量之间没有边。

强分量和弱分量的概念只适用于有向图,因为它们等价于无向图。

强连通分量

如果两个节点在两个方向上都有路径连接,则两个节点属于同一个强连接分量。在两个紧密连接的分量之间可能有边,但这些连接的边从来不是一个循环的一部分。

强连接分量的仓数是这样的:任何连接两个分量的边从仓数较小的分量到仓数较大的分量。

强分量和弱分量的概念只适用于有向图,因为它们等价于无向图。

另请参阅

||

R2015b中引入