数据结构--图---图解

本文介绍了数据结构中的图概念,包括无向图和有向图,以及无权图和有权图的区别。通过四个城市的例子,详细阐述了如何表示图,并探讨了从城2到城1的路径计数和最短路径问题。文章强调了回溯和递归算法在解决此类问题中的关键作用。
摘要由CSDN通过智能技术生成

背景

   数据之间的关系有 3 种,分别是 "一对一"、"一对多" 和 "多对多",

“一对一” :线性表,一串从前到后的线性关系,前一个只对应后边的一个
在这里插入图片描述

“一对多” :树,前一个可以对应后边多个变量
在这里插入图片描述
在这里插入图片描述

此文中提到的回溯就是树中一种重要算法
子集位算法与回溯算法实现

“多对多” :图
在这里插入图片描述
像这种多个元素相互链结的形式就是图。

基础知识点

图分为无向图和有向图:
在这里插入图片描述

无向图 有向图
弧头和弧尾:有向图中,无箭头一端的顶点通常被称为"初始点"或"弧尾",箭头直线的顶点被称为"终端点"或"弧头"
入度和出度:对于有向图中的一个顶点 V 来说,箭头指向 V 的弧的数量为 V 的入度(InDegree,记为 ID(V));箭头远离 V 的弧的数量为 V 的出度(OutDegree,记为OD(V))。拿图 2 中的顶点 V1来说,该顶点的入度为 1,出度为 2(该顶点的度为 3)。
无向图中描述两顶点(V1 和 V2)之间的关系可以用 (V1,V2) 来表示 有向图中描述从 V1 到 V2 的"单向"关系用 <V1,V2> 来表示
无向图的集合 VR={(v1,v2),(v1,v4),(v1,v3),(v3,v4)} 有向图的集合 VR={<v1,v2>,<v1,v3>,<v3,v4>,<v4,v1>}
无论是无向图还是有向图,从一个顶点到另一顶点途径的所有顶点组成的序列(包含这两个顶点),称为一条路径。 如果路径中第一个顶点和最后一个顶点相同,则此路径称为"回路"(或"环")
若路径中各顶点都不重复,此路径又被称为"简单路径" 若回路中的顶点互不重复,此回路被称为"简单回路"(或简单环)

另一方面,图中的顶点之间按有没有权重分为无权图和有权图
在这里插入图片描述
以城市之间相互来往举例:

无权图 有权图
城市之间距离相等,都是1 城市之间距离不等,0-1:2;1-2:4;

可以分别用这两个矩阵表示,python中可以用多层列表表示

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值