数据结构——图

本文详细介绍了图的概念,包括无向图、有向图、简单图和多重图,以及顶点的度、连通图与强连通图。此外,探讨了邻接矩阵和邻接表两种存储结构的优缺点,并阐述了深度优先遍历(DFS)和广度优先遍历(BFS)的实现。最后,讲解了最小生成树的Prim和Kruskal算法,以及最短路径的BFS、Dijkstra和Floyd算法。

  

目录

1 图的定义

1.1 无向图和有向图

1.2 简单图和多重图

1.3 顶点的度、入度、出度

1.4 顶点-顶点的关系描述 

1.5 连通图与强连通图 

1.6 子图 

1.7 连通分量和强连通分量

1.8 生成树和生成森林

1.9 边的权、带权图/网

1.10 几种特殊形态的图

2 邻接矩阵

2.1 存储形式

2.2 构建邻接矩阵的基本步骤:

2.2 邻接矩阵的优缺点

2.3 邻接矩阵法的性质

3 邻接表

3.1 存储形式

3.2 构建邻接表的基本步骤

3.3 邻接表的优缺点

3.4 对比邻接矩阵与邻接表

4 十字链表和邻接多重表

5 图的基本操作 

6 图的遍历

6.1 深度优先遍历(DFS)

6.1.1 DFS定义

6.1.2 递归实现DFS

6.1.3 非递归实现DFS 

6.1.4 结论

6.2 广度优先遍历(BFS)

7 最小生成树 

7.1 最小生成树概念

7.2 Prim算法(普⾥姆)求最小生成树

7.3 Kruskal 算法(克鲁斯卡尔)求最小生成树

8 最短路径 

8.1 BFS算法

8.2 Dijskra算法

8.3 Floyd算法


1 图的定义

图(Graph):由两个集合边集和点集【V(vertex)和E(edge)】组成,记作G = (V,E)。其中V是各顶点(结点),V中的任意两个顶点配对后作为边集合E的元素。

1.1 无向图和有向图

在有向图中,E中的元素形式为<x,y>,表示从顶点x到顶点y的一条有向边,有向边也称作弧,x为弧尾,y为弧头;

在无向图中,E中的元素形式为(x,y),仅表示连接顶点x和顶点y的一条边,效果同(y,x)。

1.2 简单图和多

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值