【数据结构与算法】快速恶补图与矩阵压缩算法

本文介绍了图的定义、遍历方法、最短路径问题及解决算法,重点讨论了邻接矩阵的存储结构,包括如何建立和压缩存储,特别关注对称、三角和对角矩阵的压缩技术,旨在帮助读者深入理解图的算法设计。
摘要由CSDN通过智能技术生成

开发工具与关键技术:数据结构与算法

作者:陈芝番

撰写时间:2020.4.26

目录

前言

1.图的定义

2.算法设计需要考虑什么呢?

3.遍历图的基本方法:

4.问题思考

5.最短路径问题解法

6.邻接矩阵

7.邻接矩阵存储结构定义

8.建立图的邻接矩阵

9.特殊矩阵的压缩存储

分析:

前言

图结构是一种比树型结构更为复杂的非线性结构,任意一个节点都可以有任意多个前驱和后继。图结构是一种重要的数据结构,对我们普遍的人来说,图是一种设计和规划等等,而图也可以是一个结构图,对图进行分析,验算,数据元素之间的关系。所谓数组,是有序的元素序列,用于存储多个相同类型数据的集合。

1.图的定义

图是由顶点和边组成,顶点表示图的数据元素,边表示数据元素之间的关系。

图的遍历:从图中某一顶点出发遍历图中其余顶点,且使每一顶点仅被访问一次。

若图中表示边的顶点对是无序的,即称无向边,则图为无向图。

若图中表示变的顶点对是有序的,即称有向边,则图为有向图。

其中图又有完全图,稠密图,稀疏图。若无向图有1/2n(n-1)条边,即图中每对顶点之间都有一条边,即称该无向图为无向完全图。若有向图中有n(n-1)条孤,即图中每对顶点之间都有方向相反的两条孤。则称该有向图为有向完全图。有很少边的图或孤的图称为稀疏图,反之称为稠密图。

当然还有连通图,连通分量;强连通图,强连通分量;权,网等等。

图的存储结构比线性表和树的结构来说更为复杂,既要存储所有顶点的信息,又要存储顶点与顶点之间的所有关系,也就是边的信息。我们常说的“顶点的位置”和邻接点只是一个相对概念,图上任一顶点都可以看做初始顶点,任一顶点邻接点之间不存在次序关系。

2.算法设计需要考虑什么呢

需要考虑三个问题

  • 算法的参数要指定访问的第一个顶点;
  • 要考虑遍历路径可能出现的死循环问题;
  • 要使一个顶点的所有邻接顶点按照某种次序被访问。

3.遍历图的基本方法

(1)深度优先搜索:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值