数据结构
文章平均质量分 56
我是路人戊
Nobody can go back and start a new beginning, but anyone can start now and make a new ending.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
图的遍历-深度优先&&广度优先
问题描述:给定如下所示图,分别给出深度优先和广度优先规则下的遍历结果: 1、算法描述 深度优先搜索(depth-first search,DFS):类似于树的先根次序遍历,尽可能先对纵深方向进行搜索。选取一个未访问的顶点作为源点,访问并标记顶点,递归地深搜遍历邻接到的其他顶点,重复上述过程直至从有路径可达的顶点都已经被访问过。再选取其他未访问顶点作为源点做深搜,直到图的所有顶点都被访问过。 广度优先搜索(breadth_first search,BFS):从图中的某个顶点出发,访问并标记该顶点后,原创 2021-01-26 16:11:05 · 641 阅读 · 0 评论 -
图的遍历-拓扑排序
问题描述:修一门课程之前必须修完该课程的先修课程,给出一个可行的选课顺序。(可能会有几种不同方案) 课程代号 v1 v2 v3 v4 v5 v6 先修课程 v1、v3 v1 v1、v6 v3、v4、v6 以上问题可以抽象为如下有向无环图的拓扑排序结果: 上图的邻接表为: 1、概念 拓扑排序(topological sort),将一个有向无环图(Directed Acyclic Grap...原创 2021-01-25 12:07:02 · 890 阅读 · 0 评论 -
单源最短路径-Dijkstra算法
参考:https://blog.youkuaiyun.com/qq_35644234/article/details/60870719 问题描述:从图中的某个顶点出发到达其余任意一个顶点所经过的边的权重和最小的一条路径,称为单源最短路径。 以下图为例: mat_adjc(邻接矩阵) 1、Dijkstra算法介绍 特点:使用了广度优先搜索解决带权有向图或者无向图的单源最短路径问题。 思路:采用的是贪心策略,声明一个数组dis来保存指定源点到各个顶点的最短距离、路径以及该顶点有没有被标记过(加入集合V)。指原创 2021-01-24 20:19:49 · 723 阅读 · 0 评论 -
最短路径-Floyd算法
参考:https://blog.youkuaiyun.com/qq_35644234/article/details/60875818 问题描述:给定带权图G=<V,E>,其中每条边()上的权是一个非负实数。计算从任意一个源点s到所有其他各节点的最短路径。 以上所示图的邻接矩阵如下: 1、Floyd算法介绍 特点:弗洛伊德算法是解决任意两点间的最短路径的一种算法,可以正确处理有向图或无向图或负权图(但不可存在负权回路)的最短路径问题。 算法思路:引入两个二维矩阵dist和path,矩阵di原创 2021-01-23 21:31:14 · 435 阅读 · 0 评论
分享