有向图

有向图1、术语在有向图中,边是单向的。每条边所连接的两个顶点都是一个有序对,他们的邻接性是单向的。出度:该顶点指出的边的总数入度:指向该顶点的边的总数一条有向边的第一个顶点称为它的头,第二个顶点称为它的尾。将有向边画为由头指向尾的一个箭头。用 v -> w 表示有向图中一条由v指向w的边。有向路径有向环简单有向环:除了起点和终点必须相同之外,不含有重复的顶点和边的环路径或...
摘要由CSDN通过智能技术生成

有向图

1、术语

在有向图中,边是单向的。每条边所连接的两个顶点都是一个有序对,他们的邻接性是单向的。

出度:该顶点指出的边的总数
入度:指向该顶点的边的总数

一条有向边的第一个顶点称为它的,第二个顶点称为它的。将有向边画为由头指向尾的一个箭头
v -> w 表示有向图中一条由v指向w的边。

有向路径
有向环
简单有向环:除了起点和终点必须相同之外,不含有重复的顶点和边的环

路径或环的长度即为其中所包含的边数

有向图的可达性:当存在从v到w的路径时,称顶点w能够由顶点v达到。
无向图的连通性


2、有向图的数据结构

有向图的API

在这里插入图片描述

reverse() 方法,返回该有向图的一个副本,但将其中所有边的方向反转。这样用例就可以找出指向每个顶点的所有边。

有向图的表示:邻接表。边 v -> w 表示为顶点v所对应的邻接链表中包含一个w顶点。
在用邻接表表示无向图时,如果v 在w 的链表中,那么w必然也在v的链表中。但在有向图中这种对称性是不存在的,因为每条边都只会出现一次。


有向图的数据结构

Digraph数据类型与Graph数据类型基本相同。区别是 addEdge() 只调用了一次 add(),而且它还有一个 reverse() 方法来返回图的反向图。

/*DiGraph数据类型*/
public class DiGraph{
   
    private final int V;    //顶点数目
    private int E;          //边的数目
    private Bag<Integer>[] adj; //邻接表

    public DiGraph(int V){
   
        this.V = V; this.E = 0;
        adj = (Bag<Integer>[]) new Bag[V];    //创建邻
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值