邻接表 是图的一种最主要的存储结构,用来描述图上的每一个点。对图的每个顶点建立一个容器,第i个容器中的结点包含顶点Vi的的所有临界顶点。如下图所示,有向图对应的邻接表:
1.数据结构
邻接表用到两个数据结构:
(1)一个是头结点表,用一维数组存储。包括顶点和指向第一个邻接点的指针。
(2)一个是每个顶点Vi的所有邻接点构成的一个线性表,用单链表存储。无向图成为顶点Vi的边表,有向图成为顶点Vi作为尾的出表边,存储的是顶点的序号,和指向下一个边的指针。
头结点:
struct HeadNode //定义头结点 { Node *first;//指向头结点 };