数据结构(6.2_2)——领接表法

领接表法(顺序存储+链式存储)

代码:

cpp 复制代码
#define MaxVertextNum 10
//边(弧)
typedef struct ArcNode {
    int adjvex;//边/弧指向哪个结点
    struct ArcNode* next;//指向下一条弧的指针
    //InfoType info;//边权值
}ArcNode;
//顶点
typedef struct VNode {
    VertexType data;//顶点信息
    ArcNode* first;//第一条边/弧
}VNode,AdjList[MaxVertextNum];
//用领接表存储的图
typedef struct {
    AdjList vertices;
    int vexnum,arcnum;
}ALGraph;
  1. 在无向图中边结点的数量是2|E|,整体空间复杂度为O(|V|+2|E|)
  2. 在无向图中边结点的数量是|E|,整体空间复杂度为O(|V|+|E|)

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

无向图

有多少边结点就有多少度

有向图

有向图的度=入度+出度

出度:

  1. 遍历顶点 :对于图中的每个顶点 v

    a. 遍历边 :遍历顶点 v 的所有出边(即所有形式为 (v, w) 的边,其中 w 是另一个顶点)。

    b. 计数 :对于每一条出边,将顶点 v 的出度计数增加1。

入度:

  1. 遍历边 :遍历图中的所有边 (v, w):例如寻找入度a的弧,遍历完后找到所有指向0的弧

注意

图的领接表表示方式不唯一

图的领接矩阵表示方式唯一

总结:

相关推荐
壹号用户3 小时前
C++入门(引用)
数据结构·c++
fengxin_rou4 小时前
leetcode二维数组高频面试题详解:48.原地旋转矩阵 + 240.杨氏矩阵查找算法深度剖析
数据结构·leetcode·java 算法·面试算法
05候补工程师4 小时前
【408 数据结构】图论核心算法(拓扑/关键路径)与二叉搜索树精髓夺分笔记
数据结构·经验分享·笔记·考研·算法·图论
迈巴赫车主4 小时前
Prim堆优化
数据结构·算法·prim
郝学胜-神的一滴4 小时前
干货版《算法导论》08:哈希——重构集合数据结构的速度魔法
数据结构·python·程序人生·算法·重构·软件构建·哈希算法
apcipot_rain5 小时前
计科八股20260605——软件生命周期、文档、死锁、地址转换、I/O控制方式、堆、无向图、连通图、最小支配集、逆关系、永真式
数据结构·操作系统·软件工程·计算机组成原理·离散数学
洒脱的六边形战士加辣5 小时前
Java排序方法全解析
java·数据结构·算法
hope_wisdom5 小时前
C/C++数据结构之二叉树基础
c语言·数据结构·c++·二叉树
知南x6 小时前
【DPDK核心知识了解】(3) 数据结构与缓冲区管理(建立零拷贝的认知)
数据结构
bIo7lyA8v6 小时前
算法与数据结构协同优化的设计思想的技术8
数据结构·算法