06-6.2.2 邻接表法

👋 Hi, I’m @Beast Cheng
👀 I’m interested in photography, hiking, landscape…
🌱 I’m currently learning python, javascript, kotlin…
📫 How to reach me --> 458290771@qq.com


喜欢《数据结构》部分笔记的小伙伴可以订阅专栏,今后还会不断更新。🧑‍💻
感兴趣的小伙伴可以点一下订阅、收藏、关注!🚀
谢谢大家!🙏

顺序+链式存储

// 顶点
typedef struct VNode{
	VertexType data;  // 顶点信息
	ArcNode *first;   // 第一条边/弧
}VNode, AdjList[MaxVertexNum];

// 边/弧
typedef struct ArcNode{
	int adjvex;  // 边/弧指向哪个结点
	struct ArcNode *next;  // 指向下一条弧的指针
	// InfoType info;  // 边权值
}ArcNode;

// 用邻接表存储的图
typedef struct{
	AdjList vertices;
	int vexnum, arcnum;
}ALGraph;

无向图:边结点的数量是 2 ∣ E ∣ 2|E| 2∣E ,整体空间复杂度为 O ( ∣ V ∣ + 2 ∣ E ∣ ) O(|V|+2|E|) O(V+2∣E)
有向图:边结点的数量是 ∣ E ∣ |E| E ,整体空间复杂度为 O ( ∣ V ∣ + ∣ E ∣ ) O(|V|+|E|) O(V+E)

如何求顶点的度、入度、出度?

无向图

度:遍历和顶点相关的边列表就可以

有向图

出度:遍历和这个结点相关的边结点的链表就可以
入度:唯一的办法就是把所有的结点的边链表都依次遍历一遍

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Beast Cheng

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

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

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

打赏作者

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

抵扣说明:

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

余额充值