【数据结构】图

我们可以将看作是一种从链表拓展而来的 数据结构,相较于 线性关系(链表) 和 分治关系(树) 网络关系(图) 的自由度更高,从而更为复杂。


 图的三种分类标准

一、根据边是否具有方向,可以分为「无向图」「有向图」

注:在无向图中,边表示两顶点之间的“双向”连接关系,例如微信或 QQ 中的“好友关系”。

在有向图中,边具有方向性,即 𝐴 → 𝐵 和 𝐴 ← 𝐵 两个方向的边是相互独立的,例如微博或抖音上 的“关注”与“被关注”关系。

二、 根据所有顶点是否连通,可分为「连通图」「非连通图」

三、根据边是否添加 “权重”  ,可分为「无权图」「有权图」


 图的两种表示方式

一、邻接矩阵

设图的顶点数量为 𝑛 ,「邻接矩阵」使用一个 𝑛 × 𝑛 大小的矩阵来表示图,每一行(列) 代表一个顶点,矩阵元素代表边,用 1 或 0 表示两个顶点之间是否存在边。

邻接矩阵具有以下特性:

顶点不能与自身相连,因此邻接矩阵主对角线元素没有意义。

对于无向图,两个方向的边等价,此时邻接矩阵关于主对角线对称。

将邻接矩阵的元素从 1 和 0 替换为权重,则可表示有权图。 

二、邻接表

设图的顶点数量为 𝑛 ,「邻接表」使用 𝑛 个链表来表示图,链表节点表示顶点。第 𝑖 条链表对应顶点 𝑖 ,其中存储了 该顶点的所有邻接顶点(即与该顶点相连的顶点)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

古葬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值