图的基础概念、操作与表示
1. 边的方向
边定义了图的结构,决定了哪些顶点依赖于其他顶点。边主要分为有向边和无向边:
- 有向边 :如同单行道,只能从起点到终点,不能返回。不过,图中可能存在环,即沿着特定的边可以回到同一个顶点。自环就是一种简单的环,即一条边从一个顶点直接回到自身。如果有边重复,这样的环被称为回路。
- 无向边 :相当于两条方向相反的有向边并排,类似双行道。
HTML链接就是有向边的例子,因为链接的目标页面并不会隐式地知道自己被指向。一个图如果包含有向边,则被称为有向图;如果只有无向边,则为无向图。混合情况通常被视为有向图,因为无向边可以用两条有向边表示。
判断一个图是否应为有向图,取决于数据之间的关系是单向还是双向的。有向边可以表示“如果 - 那么”的关系,而无向边可以表示成员关系和相对距离。例如,两个顶点属于同一个集合可以通过将它们放在同一个无向图的连通分量中来建模。
在代码中,默认创建的是有向图:
use Graph;
my $g = Graph->new;
也可以使用以下等效的方式创建有向图:
use Graph::Directed;
my $g = Graph::Directed->new;
创建无向图的方式如下:
use
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



