hascycles
说明
示例
确定无向图是否有循环
创建并绘制一个无向图。
G = graph([1 1 1 1],[2 3 4 5]); plot(G)
确定图是否有循环。
tf = hascycles(G)
tf = logical
0
现在,在图中的节点 2 和节点 3 之间添加一条边。重新绘制该图。
G = addedge(G,2,3); plot(G)
确定新图是否有循环。
tf2 = hascycles(G)
tf2 = logical
1
确定有向图是否有循环
检查对有向图进行操作的 hascycles
和 isdag
函数之间的区别。
创建并绘制一个有向图。
s = [1 1 1 2 3 3 3 4 6]; t = [2 4 5 5 6 7 4 1 4]; G = digraph(s,t); plot(G)
确定该图是否包含循环。
tf = hascycles(G)
tf = logical
1
当有向图包含循环时,hascycles
返回 true
。
现在,使用 isdag
确定该图是否为有向无环图。
tf2 = isdag(G)
tf2 = logical
0
isdag
返回 false
,因为图包含循环。一般情况下,对于有向图,hascycles
和 isdag
函数返回相反的结果。
输入参数
详细信息
图循环
如果图中有一条非空路径,其中只有第一个和最后一个节点重复,则图中就存在一个循环。循环的一个示例是:(节点 1 - 节点 2 - 节点 3 - 节点 1)。
一个循环不能对同一条边遍历两次。例如,无向图中的循环(节点 1 - 节点 2 - 节点 1)仅在连接结点 1 和节点 2 的边不止一条的情况下才存在。根据此定义,自环算作循环,尽管它们不能作为任何更大循环的一部分。
版本历史记录
在 R2021a 中推出
另请参阅
allcycles
| cyclebasis
| isdag
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)