图的基本概念;图的存储表示:邻接矩阵、邻接表

  • 无向图 边(vi,vj)
  • 有向图 弧
有向完全图和无向完全图
  • 有向图最多有n(n-1)条边,且有n(n-1)条边的有向图为有向完全图。
  • 无向图最多有n(n-1)/2条边,且有n(n-1)/2条边的有向图为无向完全图。

邻接矩阵(数组存储)

  • 无权:0、1
  • 带权:权值,无限符号
  • 对于有向图,顶点Vi的出度是邻接矩阵第i行之和,入度是第i列之和。
    图的基本概念;图的存储表示:邻接矩阵、邻接表_第1张图片

邻接表(链表存储)

#define MAX_VERTEX_NUM 20
typedef struct ArcNode{
    int adjvex;
    struct ArcNode *nextarc;
    InfoType *info;
}ArcNode;
typedef struct VNode{
    VertexType data;
    ArcNode *firstarc;
}VNode , AdjList[MAX_VERTEX_NUM];

typedef struct{
    AdjList vertices;
    int vexnum,arcnum;
    int kind;
}ALGraph;

图的基本概念;图的存储表示:邻接矩阵、邻接表_第2张图片

你可能感兴趣的:(图的基本概念;图的存储表示:邻接矩阵、邻接表)