数据结构复习1:图

本文详细介绍了图的基本概念,包括图的存储结构如邻接矩阵和邻接表,以及图的遍历方法如深度优先搜索和广度优先搜索。此外,文章还探讨了最小生成树(Kruskal和Prim算法)、最短路径(Dijkstra和Floyd算法)以及有向无环图(DAG)的相关知识。通过对这些概念和算法的理解,读者能够深入理解图论在数据结构和算法中的应用。

1 图的基本概念

  • 非线性结构
  • Graph = (V, E)
  • 有向图、无向图
  • 自环self loop、重边、简单图、多重图
  • 完全图
  • 边、顶点、权、邻接顶点、度(入度、出度)
  • 路径、路径长度、简单路径、回路cycle
  • 连通图connnected graph、连通分量(极大连通子图)、强连通图、弱连通图
  • 生成树 spanning tree
    包含所有顶点、两个顶点之间只有一条边 edge = vertex - 1

2 图的存储结构

2.1 邻接矩阵

2.2 邻接表

3 图的遍历

3.1 深度优先搜索(Depth First Search)

  • 探查回溯,访问路径构成了一个连通的无环图(树),一个生成树
  • 递归

3.2 广度优先搜索(Breadth First Search)

  • 队列
  • 无权最短路径

4 最小生成树 MST

删去一条边,都会不再连通;加入一条边,都会有环路。

4.1 Kruskal

Kruskal是基于贪心算法的并查集应用,用于求经过图中所有节点边权值最小的集合(MST)
基于原理是:权值最小的边一定在MST中,权值第二小的也在MST中,接着

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值