- Adjacency lists
- 一种顺序与链式相结合的存储结构
- 表头是一个节点数组,对应图的顶点(什么是顶点?)
- 每一个节点后链接一个链表或者指针数组,存储与这个顶点相邻的其他顶点的指针(如何理解这里的指针?)
- 不论是有向图还是无向图,Weighted or not
- 只要A到B之间有一条边,A后就有一个B的指针
- 指针的链接表示相连
- 如果需要表示权重。则可以在表示边的结构中增加额外的数据域存储
- 顶点
- 图的顶点(vertex)通常指的是图中的一个点
- 有向图中,顶点可以有出度和入度,表示从这个顶点出发或到这个顶点的边的数量。
- 无向图中,顶点只有度,表示与这个顶点相连的边的数量。
- 图的顶点(vertex)通常指的是图中的一个点
- 指针
- 指针(pointer)是一个变量,其值为另一个变量的地址,即直接地址或者间接地址。
- 你可以把它看作是从一个地方(一个变量,例如顶点A)到另一个地方(另一个变量,例如顶点B)的引用。
- 在邻接列表的环境中,如果A顶点后面有一个B顶点的指针,那么意味着A顶点与B顶点之间有一条边。
- 指针(pointer)是一个变量,其值为另一个变量的地址,即直接地址或者间接地址。
- 关于图片中的框框。指针后面的两个框分别是邻接顶点域和指针域
- 如果后面没有了的话,指针域里就是一个斜杠。
- 当你在指针域中看到一个斜杠时,那就表示这个链表已经没有更多的节点了,已经到达了末尾。这是一种常见的表示链表末尾的方式,可以帮助我们知道何时停止遍历链表。
- 一种顺序与链式相结合的存储结构
[DS:10.1] How to Read Adjacency lists
最新推荐文章于 2024-05-27 20:08:39 发布