数据结构——图

一,图的定义

一个图就是有顶点和边构成的集合。

顶点连边的数量就是顶点的度数。

注意:线性表可以是空表,树可以是空树,但是图不能是空图 。
也就是说 ,图中不能一个顶点都没有,图的顶点V一定非空,但边即E可以为空。此时图中只有顶点没有边。

二,图的基本概念

重边:两个顶点不止一条边。

自环:自己到自己的边。

出度:一个顶点向别的顶点连边的条数

入度:别的顶点连边到一个顶点的条数

三,图的分类

根据方向:无向图,有向图

根据边长:带权图,不带权图

四,图的表示

数组(邻接矩阵)
有向图的邻接矩阵是不对称的
带权(邻接表)
表头代表图的节点数组,对应图的顶点
每个节点连接一个链表或指针数组
若a,b相连,则a对应的表头后有一个顶点b的指针
通过指针相连
通过结构体将表头,指针,边权相结合。
采用vector减少空间占用

邻接表的优点

空间复杂度O(m)

遍历某个点的相邻节点的时间复杂度O(p),p为该点的出度,即出去的条数

缺点

如果要修改查询边权,需要时间复杂度O(p),不然邻接矩阵O(1)

邻接表和邻接矩阵
邻接矩阵适用点较少,边多
邻接表适用点较多,或者可呢出现重边的情况

稀疏图和稠密图

  • 边和顶点的数量关系

  • 边的条数(E)<<顶点数量(V^2)稀疏图

  • 边多稠密

五,图的遍历

1,深度优先搜索遍历

特点
优先阅读被最先发现的文章,直到找不到就图回去
需要用栈来维护阅读的层级

2,广度优先搜索遍历

特点:
优先阅读离初始文献更近的文章
需要用对列来维护阅读的文章

有向无环图(DAG)

拓扑排序

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值