有向图数据结构_数据结构复习——图

一、基本概念

定义:图:{{顶点集},{边(弧)集}}

1.无向图

2.有向图

3.顶点、边、弧、弧头(终端点)、弧尾(初始点)

4.无向完全图

5.有向完全图

6.稠密图和稀疏图

7.邻接点

8.顶点的度、入度、出度

9.路径、路径的长度

10.回路、简单路径、简单回路

11.子图

12.连通

13.连通图

14.连通分量

15.强连通图、强连通分量

16.生成树

17.生成森林

18.网

二、图的基本操作

结构的建立和销毁

7a55fe26698994b46c044f3a8a69a962.png

对顶点的访问操作

51b219138037a8226acb943ff4923808.png

插入或删除顶点

c6e6f5e27b23163989b4b526e4496581.png

插入和删除弧

78f4a06fdc2d020b86ab5f29d4c31f84.png

对邻接点的操作

821262013ae9886926df9ee4860d1eea.png

遍历

a1d6ac87c6f999d14f1b10f085ebc3b0.png

三、图的两种常见的存储结构

1.图的数组(邻接矩阵)存储表示

对具有n个顶点的图:

用一维数组存储图中顶点的信息;

用一个二维数组存储顶点之间的关系(边或弧)信息。这个二维数组称为邻接矩阵。

邻接矩阵的基本性质:

(1)一个图的邻接矩阵表示是唯一的

(2)对于n个顶点的有向图,需要n*n个存储单元

(3)无向图的邻接矩阵是对称矩阵时,邻接矩阵只需要存矩阵的上三角或下三角部分就可以了,需要n*(n+1)/2

(4)对于无向图,顶点Vi的度是邻接矩阵中第i行(或第i列)元素之和

(5)对于有向图,邻接矩阵的第i行非零元素之和是第i个顶点的出度,第j列元素之和是第i个顶点的入度。

邻接矩阵的相关数据结构:

e88e4dfaa6c8baf16ca49c4b64bda347.png

2.图的邻接表存储表示

邻接表是图的一种链式存储结构。在邻接表中,对图中每个顶点建立一个单链表,第i个单链表中的结点表示依附于顶点vi的边(对有向图是以顶点vi为尾的弧)

bc23304fb4ec2e9825a471dcb387224c.png

代码实现(以邻接表作为存储结构的图):

https://github.com/sherryxie995/

Basic-operation-about-Graph/tree/master

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值