主要内容

minspantree

图的最小生成树

描述

例子

T= minspantree (G返回最小生成树T,图G

例子

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

例子

Tpred) = minspantree (___也返回一个前导节点的向量,pred,使用前面语法中的任何输入参数。

例子

全部折叠

创建并绘制带有加权边的立方体图。

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 =情节(G,“EdgeLabel”, G.Edges.Weight);

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

在图的顶部计算并绘制图的最小生成树。T包含的节点与G,而是边的子集。

(T, pred) = minspantree (G);突出(p T)

图中包含一个轴对象。axis对象包含一个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 =情节(G,“布局”“分层”);

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

找出图的最小生成林,从节点开始.突出plot中生成的森林。图节点名称被带入最小生成树图中。

(T, pred) = minspantree (G,“类型”“森林”“根”findnode (G,“我”));突出(p T)

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

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

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

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

输入参数

全部折叠

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

例子:图G =(1、2)

名称-值参数

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

例子:(T, pred) = minspantree (G,‘法’,‘稀疏’)

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

选项 描述
“密集”(默认) 一本正经的算法。该算法从根节点开始,并在遍历图时向树中添加边。
“稀疏” 克鲁斯卡算法。该算法根据权重对所有边进行排序,如果它们没有形成循环,则将它们添加到树中。

根节点,指定为逗号分隔的对,由“根”和节点索引或节点名。默认根节点为1

  • 如果“方法”“密集”(默认),则根节点是开始节点。

  • 如果“方法”“稀疏”,则根节点仅用于计算pred,是前一个节点的向量。

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

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

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

选项 描述
“树”

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

“森林”

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

输出参数

全部折叠

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

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

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

更多关于

全部折叠

最小生成树

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

对于边权相等的图,由于遍历,所有的生成树都是最小生成树n节点需要n - 1边缘。

另请参阅

||

介绍了R2015b