帮助中心帮助中心
有向无环图的拓扑秩序
n = toposort (G)
n = toposort (G,“秩序”,算法)
[n、H] = toposort (___)
例子
n= toposort (G)返回拓扑顺序节点的G这样i < j为每条边(n (i)、n (j))在G。的有向图G不能有任何周期。
n= toposort (G)
n
G
i < j
(n (i)、n (j))
n= toposort (G“秩序”,算法)指定排序算法。例如,toposort (G,“秩序”,“稳定”)使用一个基于辞典编纂的秩序稳定排序算法的节点。
n= toposort (G“秩序”,算法)
算法
toposort (G,“秩序”,“稳定”)
(n,H)= toposort (___)此外回报有向图H在给定的节点拓扑秩序。您可以使用任何输入参数的组合在以前的语法。
(n,H)= toposort (___)
H
全部折叠
创建和绘制图形,代表大学数学课程的发展。两门课程之间的优势意味着课程要求。
一个= [0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0];名称= {学我的,“线性代数”,“微积分二世”,…“多元微积分”,“拓扑结构”,…“微分方程”,“实分析”};G =有向图(名称);情节(G)
发现课程的拓扑排序来确定他们应该适当的顺序完成。
N = toposort (G)
N =1×71 3 7 2 4 6 5
G.Nodes.Name (N,:)
ans =7 x1细胞{“微积分我”}{“微积分II”}{“实分析”}{“线性代数”}{多元微积分的}{“微分方程”}{“拓扑”}
使用一个逻辑创建一个有向图邻接矩阵,然后画出图。
rng默认的;=下三角阵(sprand (10、10、0.3), 1) ~ = 0;G =有向图(一个);(~ G) = toposort (G);情节(G)
找到图的拓扑排序节点。尽管G已经在拓扑秩序,(1 2 3 4 5 6 7 8 9 10),toposort重新排列了节点。
(1 2 3 4 5 6 7 8 9 10)
toposort
toposort (G)
ans =1×102 5 1 4 10 9 8 7 3 6
指定订单作为“稳定”使用稳定的排序算法,首先订单指数较小的节点。稳定的排序不重新排列G如果它已经在拓扑秩序。
订单
“稳定”
ans =1×101 2 3 4 5 6 7 8 9 10
有向图
输入图,指定为一个有向图对象。G必须是一个有向无环图。使用isdag确认G不包含周期。
isdag
使用有向图创建一个有向图。
例子:2 G =有向图([1],[2 3])
2 G =有向图([1],[2 3])
“快”
排序算法,指定为“快”或“稳定”:
基于深度优先搜索。一个节点被添加到列表的开始在考虑所有的后代。
如果G已经在拓扑秩序,这种方法仍然会重新排序节点。
基于辞典编纂的秩序。n (1)是最小的节点索引,n (2)下一个最小的了n (1),等等。
n (1)
n (2)
如果G在拓扑顺序呢H是不变的,n是1:numnodes (G)。
1:numnodes (G)
例子:[n、H] = toposort (G,“秩序”,“稳定”)
[n、H] = toposort (G,“秩序”,“稳定”)
节点索引,返回一个行向量。
拓扑排序图,作为一个返回有向图对象。H一样的图吗G,但节点重新排序根据n。
一个有向图的拓扑顺序图中的节点的排序,这样每个节点出现在其继任者(后代)。
考虑一个有向图的节点代表的任务,其边缘代表依赖别人之前,必须完成某些任务。对于这样一个图,图的拓扑排序节点产生一个有效的序列可以执行的任务。
介绍了R2015b
有向图|isdag|reordernodes
reordernodes
你有一个修改版的这个例子。你想打开这个例子与编辑?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室