图数据库:从基础结构到高级模型
1. 图数据结构
在图数据库中,有两种重要的数据结构用于存储图,分别是邻接表和关联表。
1.1 邻接表
邻接表是一种存储图的方式,它存储顶点集 V ,并且为每个顶点存储一个相邻顶点的链表。
- 无向图 :在简单无向图中,每条边都会存储在其两个顶点的邻接表中。例如,对于边 e1 连接 v1 和 v2 , v1 的邻接表会包含 v2 , v2 的邻接表会包含 v1 。
- 有向图 :在简单有向图中,邻接表只存储出边。即只有当一个节点是某条边的源节点时,其邻接表才会被填充,并且只包含该边的目标节点。
- 多重图 :在有向和无向的多重图中,节点可能会在邻接表中多次出现,这取决于两个节点之间的多重边数量。
邻接表的优点是数据结构灵活,新顶点和边可以快速插入,并且能快速查找一个顶点的所有相邻顶点,没有存储开销。然而,它也有缺点,例如检查一条边是否存在需要对源节点的邻接表进行全扫描。
1.2 关联表
关联表将每条边表示为一个单独的数据对象,这允许在边对象中存储额外的信息。它存储顶点集 V ,并且为每个顶点存储一个关联边的链表。
- 无向图 :
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



