数据结构--图的存储邻接表法

数据结构–图的存储邻接表法

数据结构--图的存储邻接表法_第1张图片

邻接矩阵:
数组实现的顺序存储,空间复杂度高,不适合存储稀疏图

邻接表:
顺序+链式存储

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

数据结构--图的存储邻接表法_第2张图片 数据结构--图的存储邻接表法_第3张图片
//边/弧
typedef struct ArcNode
{
    int adjvex; //边/弧指向哪个结点
    struct ArcNode *next; //指向下一条弧的指针
    //Infotype info; //边的权值
}ArcNode;
//顶点
typedef struct VNode
{
    VertexType data; //顶点信息
    ArcNode *first; //第一条边/弧
} VNode, AdjList[MaxVerTexNum];
//用邻接表存储图
typedef struct 
{
    AdjList vertices;
    int vexnum, arcnum;
} ALGraph;

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

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

数据结构--图的存储邻接表法_第4张图片

图的邻接表表示方式并不唯一 \color{red}图的邻接表表示方式并不唯一 图的邻接表表示方式并不唯一

知识回顾与重要考点

数据结构--图的存储邻接表法_第5张图片

你可能感兴趣的:(408数据结构,数据结构,c++,c语言,算法,图论)