mongodb存储无向图_数据结构复习——图

一、基本概念

定义:图:{{顶点集},{边(弧)集}}

1.无向图

2.有向图

3.顶点、边、弧、弧头(终端点)、弧尾(初始点)

4.无向完全图

5.有向完全图

6.稠密图和稀疏图

7.邻接点

8.顶点的度、入度、出度

9.路径、路径的长度

10.回路、简单路径、简单回路

11.子图

12.连通

13.连通图

14.连通分量

15.强连通图、强连通分量

16.生成树

17.生成森林

18.网

二、图的基本操作

结构的建立和销毁

278894d5fd126f21ed312de4def4082e.png

对顶点的访问操作

92bf3d5db8480bd82430ddb7c6d8811e.png

插入或删除顶点

9aa8d6be5164566693ca82d7708d0457.png

插入和删除弧

daf0b327a9839f583db4950998d17d8c.png

对邻接点的操作

ce4006ae4eaa7bc0df466f0866f6246b.png

遍历

8ed5d8ed3ffbe313a2529deea0b4fac7.png

三、图的两种常见的存储结构

1.图的数组(邻接矩阵)存储表示

对具有n个顶点的图:

用一维数组存储图中顶点的信息;

用一个二维数组存储顶点之间的关系(边或弧)信息。这个二维数组称为邻接矩阵。

邻接矩阵的基本性质:

(1)一个图的邻接矩阵表示是唯一的

(2)对于n个顶点的有向图,需要n*n个存储单元

(3)无向图的邻接矩阵是对称矩阵时,邻接矩阵只需要存矩阵的上三角或下三角部分就可以了,需要n*(n+1)/2

(4)对于无向图,顶点Vi的度是邻接矩阵中第i行(或第i列)元素之和

(5)对于有向图,邻接矩阵的第i行非零元素之和是第i个顶点的出度,第j列元素之和是第i个顶点的入度。

邻接矩阵的相关数据结构:

f37eb8b1194c7ba1fd5dd84557a9565e.png

2.图的邻接表存储表示

邻接表是图的一种链式存储结构。在邻接表中,对图中每个顶点建立一个单链表,第i个单链表中的结点表示依附于顶点vi的边(对有向图是以顶点vi为尾的弧)

c829363769e5652f3962a4acad802530.png

代码实现(以邻接表作为存储结构的图):

https://github.com/sherryxie995/

Basic-operation-about-Graph/tree/master

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值