主要内容

minspantree

最小的图形树木

描述

例子

T.= minspantree(G返回最小的生成树T.,对于图表G

例子

T.= minspantree(G名称,价值使用一个或多个名称值对参数指定的其他选项。例如,minspantree (G,‘法’,‘稀疏’)使用Kruskal的算法计算最小生成树。

例子

[T.预见] = minspantree(___还返回前一个节点的向量,预见,使用前面语法中的任何输入参数。

例子

全部收缩

使用加权边域创建和绘制多维数据集图。

S = [1 1 1 2 5 3 6 4 7 8 8 8];T = [2 3 4 5 3 6 4 7 2 6 7 5];重量= [100 10 10 10 10 20 10 30 50 10 70 10];g =图(s,t,重量);p = plot(g,'Edgelabel',g.edges.weight);

图包含轴。轴包含Type Graphplot的对象。

计算和绘制图表顶部的图形的最小生成树。T.包含与之相同的节点G,但边缘的子集。

[t,pred] = minspantree(g);亮点(p,t)

图包含轴。轴包含Type Graphplot的对象。

创建并绘制具有多个组件的图形。

s = {'一种''一种''一种''B''B''C''e''e''F''F''F''F''G''G'};t = {'B''C''D''C''D''D''F''G''G''H''一世''j''一世''j'};g =图(s,t);p = plot(g,'布局'“分层”);

图包含轴。轴包含Type Graphplot的对象。

找到图形的最小生成林,从节点开始一世。在情节中突出显示结果的森林。图形节点名称被携带到最小生成树图中。

[t,pred] = minspantree(g,'类型''森林''根',findnode(g,'一世'));亮点(p,t)

图包含轴。轴包含Type Graphplot的对象。

使用前身节点的向量,预见,以创建最小生成林的有向版本。这个树中的所有边都是从每个组件的根节点(结点一世一种)。

rootedTree =有向图(pred (pred ~ = 0),找到(pred ~ = 0), [], G.Nodes.Name);情节(rootedTree)

图包含轴。轴包含Type Graphplot的对象。

输入参数

全部收缩

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

例子:图G =(1、2)

名称值对参数

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

例子:[t,pred] = minspantree(g,'方法','sparse')

最小生成树算法,指定为逗号分隔对组成'方法'和表中的选项之一。

选项 描述
'稠密'(默认) 一本正经的算法。该算法从根节点开始,并在遍历图时向树中添加边。
'疏' Kruskal的算法。此算法按重量进行所有边缘,然后如果不创建周期,则将它们添加到树中。

根节点,指定为逗号分隔对组成'根'和节点索引或节点名称。默认的根节点是1

  • 如果'方法''稠密'(默认),然后根节点是起始节点。

  • 如果'方法''疏',然后根节点仅用于计算预见,前身节点的矢量。

你可以用这些格式指定根节点:

价值 例子
标量节点索引 1
字符向量节点名 '一种'
字符串标量节点名称 “一个”

最小生成树的类型,指定为逗号分隔对'类型'和表中的选项之一。

选项 描述
“树”

只返回一个树。树包含根节点。

'森林'

返回一个最小生成树的森林。换句话说,指定'森林'计算图中所有连接组件的最小生成树。

输出参数

全部收缩

最小生成树,返回为图形对象。

前任节点,作为节点索引向量返回。pred(我)节点的前身是节点的索引吗一世。按照惯例,pred(rootnode)= 0。如果类型“树”, 然后pred(i)= nan对于所有节点一世它不在与根节点相同的组件中。

预见指定最小生成树的定向版本,所有边沿都远离根节点。

更多关于

全部收缩

最小的生成树

对于连通图,生成树是一个子图,它连接图中的每个节点,但不包含循环。对于任何给定的图,都可以有许多生成树。通过为每条边分配权值,不同的生成树的边的总权值被分配一个数字。最小生成树就是其边的总权值最小的生成树。

对于具有相同边缘重量的图形,所有生成树都是最小的生成树,因为遍历N.节点需要N-1边缘。

也可以看看

||

介绍了R2015b