主要内容

conncomp

连通图组件

描述

实例

箱子=conncomp(G)返回连接组件的图G作为存储箱。存储箱编号指示图中每个节点所属的组件。

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

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

实例

箱子=conncomp(G,名称,值)使用由一个或多个名称-值对参数指定的附加选项。例如,conncomp (G, OutputForm”、“细胞”)返回一个单元数组来描述连接的组件。

[箱子,binsizes) = conncomp (___)也返回连接组件的大小。(一)提供组件中的节点数.

例子

全部折叠

创建并绘制具有三个连接组件的无向图。使用conncomp以确定每个节点属于哪个组件。

G=图([11 4],[23 5],[11],6);图(G)

图形包含轴。轴包含graphplot类型的对象。

箱子=连接件(G)
垃圾箱=1×61 1 1 2 2 3

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

s=[1234345588];t=[2341455367910];G=有向图(s,t);绘图(G,“布局”,“分层”)

图形包含轴。轴包含graphplot类型的对象。

str_bins=conncomp(G)
str_bins =1×104 4 4 4 6 5 1 3 2
弱容器=连接件(G,“类型”,“弱”)
弱垃圾箱=1×101 1 1 1 1 1 1 2 2 2

使用的第二个输出conncomp提取图中最大的分量或删除小于一定大小的分量。

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

s=[123439];t=[23414555369100];G=有向图(s,t,[],20);绘图(G,“布局”,“分层”)

图形包含轴。轴包含graphplot类型的对象。

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

[bin,bin size]=conncomp(G,“类型”,“弱”)
垃圾箱=1×2011 11 11 12 2 3 4 5 6 7 8 9 10 11 12
binsize =1×127 3 1 1 1 1 1 1 1 1 1 1

使用装箱从图形中提取最大的组件。idx是一个逻辑索引,指示每个节点是否属于最大的组件。这个子图函数提取所选节点idxG.

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

图形包含轴。轴包含graphplot类型的对象。

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

过滤掉其中的任何组件G具有少于3个节点的。idx是一个逻辑索引,指示每个节点是否属于具有3个或更多节点的组件。

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

图形包含轴。轴包含graphplot类型的对象。

输入参数

全部折叠

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

例子:图G =(1、2)

例子:G=有向图([12],[23])

名称-值对的观点

指定可选的逗号分隔的字符对名称,值参数。名称是参数名和价值为对应值。名称必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家.

例子:bins=conncomp(G,'OutputForm','cell')

输出类型,指定为逗号分隔对,由“输出形式”,要么“向量”“细胞”.

选项 输出
“向量”(默认) 箱子是一个数字向量,表示每个节点属于哪个连接组件。
“细胞” 箱子是一个单元格数组,并且宾斯{j}包含属于组件的所有节点的节点IDJ.

笔记

这个“类型”选项仅支持使用金宝app有向图.

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

选项 结果
“强”(默认) 只有在有路径将两个节点连接在一起时,两个节点才属于同一个连接的组件这两个的方向。
“弱” 如果存在连接两个节点的路径(忽略边方向),则这两个节点属于同一个连接的组件。

例子:垃圾箱= conncomp (G、“类型”、“弱”)计算有向图的弱连通分量G.

输出参数

全部折叠

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

  • 如果OutputForm“向量”(默认)箱子是一个数字向量,指示每个节点所属的连接组件(bin)。

  • 如果OutputForm“细胞”然后箱子是一个单元格数组,具有宾斯{j}包含属于组件的所有节点的节点idJ.

每个连接组件的大小,以矢量形式返回。(一)给出组件中元素的数量.长度binsizes等于连接组件的数量,马克斯(箱).

更多关于

全部折叠

弱连通分量

如果存在连接两个节点的路径(忽略边方向),则两个节点属于同一弱连接组件。两个弱连接组件之间没有边。

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

强连通分量

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

强连接部件的箱号是这样的:连接两个部件的任何边都指向箱号较小的部件和箱号较大的部件。

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

介绍了R2015b