题意:X代表卫兵,a代表终点,r代表起始点,.代表路,#代表墙,走过.要花费一秒,走过x要花费2秒,求从起点到终点的最少时间。 析:一看到样例就知道是BFS了吧,很明显是最短路径问题,不过又加了一个条件——时间,所以我们用优先队列去优先获取时间短的路径,总体实现起来没有太大难度。 代码如下: ...
分类:
其他好文 时间:
2016-05-22 21:34:32
阅读次数:
196
Dijkstra算法分析 题目分析参照《数据结构》(严蔚敏)7-6节 最短路径问题描述 参照日常生活中的公交查询系统。我们有选项: 少换乘/最少站数 价格最少/时间最短.... (ps:下边这个图是网页查询的,略有出入) 根据这样的分类。我们可以将最短路径分为:结点最少(经过的站数最少),权值最小( ...
分类:
其他好文 时间:
2016-05-20 10:00:24
阅读次数:
261
上一节我们已经看到了图的边可以有方向,这一节里,我们将探讨边的另一个特性:权值。例如,如果带权图的顶点代表城市,边的权可能代表城市之间的距离,或者城市之间的路费,或者之间的车流量等等。
带权图归根究底还是图,上一节那些图的基本操作,例如广度优先搜索和深度优先搜索等都是一样的,在这一节里,我们主要来探讨一下带权图的最小生成树最短路径问题。
最小生成树问题
...
分类:
编程语言 时间:
2016-05-18 19:53:15
阅读次数:
395
《算法导论》第二版中在讨论斐波那契堆之前还讨论了二项堆,但是第三版中已经把这块的内容放到思考题中,究极原因我想大概是二项堆只是个引子,目的是为了引出斐波那契堆,便于理解,而且许多经典的算法实现都是基于斐波那契堆,譬如计算最小生成树问题和寻找单源最短路径问题等,此时再把二项堆单独作为一章来讲显然没有必 ...
分类:
编程语言 时间:
2016-05-13 13:08:27
阅读次数:
260
2602 最短路径问题 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 2602 最短路径问题 2602 最短路径问题 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 时间限制: 1 s 空间限制: 32000 KB 题目等级 : ...
分类:
其他好文 时间:
2016-05-08 21:14:01
阅读次数:
261
两道较为典型的单源最短路径问题,采用dijkstra解法 本来是四道练习题,后来发现后面两道用dijkstra来解的话总觉得有点冗余了,因此暂且分成三篇博客(本篇以及后两篇)。 ZOJ1053(POJ1122)-FDNY to the Rescue! ZOJ1053-Transport Goods ...
分类:
其他好文 时间:
2016-05-02 15:41:32
阅读次数:
408
虽然笔者在“算法-图论”的专栏中已经讨论过有关最短路径的问题,但是这里还是重新讨论一下,孔子也说过嘛,温故而知新。 所谓最短路径问题,就是基于一个图G<V、E>,图的边集E是带权的,然后讨论寻求某条连通两个点的路径,使得这条路径是所有连通该路径中边权最小的。 找到任意两点间的最短路径——Floyd- ...
分类:
编程语言 时间:
2016-05-02 13:03:08
阅读次数:
199
问题描述: 给定如图所示的无向连通图,假定图中所有边的权值都为1,显然,从源点A到终点T的虽短路径有多条,求不同的最短路径的数目。 权值相同的最短路径问题,则但愿点Dijkstra算法退化成广度优先搜索,假定起点为0,终点为N。 用动态规划的思想: 使用两个辅助数组: 步数:step[0...N], ...
分类:
其他好文 时间:
2016-04-30 14:16:07
阅读次数:
132
1最短路径问题之原始问题 1.1问题描述 在A00与A40之间确定一条路径它们之间的距离最短,即求A00到A40的最短距离。 1.2解决思路 (1) 要计算A00到A40的最短距离mindist(4,0),可转换为计算A00分别到A30和A31的最短距离mindist(3,0)和mindist(3, ...
分类:
其他好文 时间:
2016-04-23 18:09:09
阅读次数:
208
P、NP、NPC概念
> P问题:能够在多项式时间内解决的决策问题。
—举例: 图搜索问题、最短路径问题、最小生成树问题······ > NP问题:不能在多项式时间内解决或不确定能不能在多项式时间内解决,但能在多项式时间验证的问题。
—验证:给定一个问题的实例、证书(类似于证据),需要验证这个证书是这个问题的正确答案。
— 举例:汉密尔顿路径,实例为G=(V,E)...
分类:
编程语言 时间:
2016-04-22 20:35:44
阅读次数:
8488