第五道树题,10分钟之内一遍AC。做树题越来越有feel~题目:求一棵树从root结点到叶子结点的最短路径。思路:仍然是递归。如果一个结点的左右子树任意一边为Null,该子树的minDepth应为非null子树的高度+1;如果一个结点的左右子树两边都非Null,则该子树的minDepth应为两个子树...
分类:
其他好文 时间:
2014-05-15 17:24:43
阅读次数:
226
最短路径全集
使用最短路算法。
锦囊2
使用Dijkstra算法,此图的边数比点数的平方要少很多,因此应该使用带堆优化的Dijkstra。
问题描述
给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1...
分类:
其他好文 时间:
2014-05-15 01:33:35
阅读次数:
788
题目1008:最短路径问题
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:5119
解决:1631
题目描述:
给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。
输入:
输入n,m,点的编号是1~n,然后是m行,每行4个数...
分类:
其他好文 时间:
2014-05-15 01:24:54
阅读次数:
210
该文章对迪杰斯特拉与双向迪杰斯特拉的实现结果进行了简单的分析。...
分类:
其他好文 时间:
2014-05-14 21:46:00
阅读次数:
299
广度优先搜索(Breadth-First-Search)和深度优先搜索(Deep-First-Search)是搜索策略中最经常用到的两种方法,特别常用于图的搜索.其中有很多的算法都用到了这两种思想,比如:Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。BFS...
分类:
其他好文 时间:
2014-05-14 12:29:53
阅读次数:
544
本文介绍的是图的非负权值的单源最短路径问题。问题的提出是,对于有权图D,t提供源点v,要找到从v到其他所有点的最短路径,即单源最短路径问题,在本文中,解决这一问题,是普遍比较熟悉的Dijkstra算法。
算法核心思想参见维基。简而言之,设集合S存放已经求出了最短路径的点。初始状态S中只有一个点v0,...
分类:
其他好文 时间:
2014-05-13 16:49:37
阅读次数:
284
本段程序主要利用数据结构栈的先进后出特点,实现回溯求解迷宫路径问题。
#include
#include
using namespace std;
//坐标类
struct Point
{
int x;
int y;
};
//地图类
template
struct Map
{
int (*p)[A];
int row;//行数
int col;//列数
};
//start起始点, ...
分类:
其他好文 时间:
2014-05-13 05:25:02
阅读次数:
478
1.迷宫问题
对于走迷宫,人们提出过很多计算机上的解法。深度优先搜索、广度优先搜索是使用最广的方法。生活中,人们更愿意使用“紧贴墙壁,靠右行走”的简单规则。
下面的代码则采用了另一种不同的解法。它把走迷宫的过程比做“染色过程”。假设入口点被染为红色,它的颜色会“传染”给与它相邻的可走的单元。这个过程不断进行下去,如果最终出口点被染色,则迷宫有解。
package newExa...
分类:
编程语言 时间:
2014-05-12 14:50:44
阅读次数:
391
做一个医学项目,其中在病例评分时会用到单源最短路径的算法。单源最短路径的dijkstra算法的思路如下:
如果存在一条从i到j的最短路径(Vi.....Vk,Vj),Vk是Vj前面的一顶点。那么(Vi...Vk)也必定是从i到k的最短路径。Dijkstra是以最短路径长度递增,逐次生成最短路径的算法。例如:对于源顶点V0,首先选择其直接相邻的顶点中长度最短的顶点Vi,那么当前已知可得从V0到达V...
分类:
Web程序 时间:
2014-05-11 04:52:06
阅读次数:
415
---用Warshall算法解决传递闭包问题---在一个关系R中,如果任意的(a,b)和(b,c)在关系R中,则(a,c)也一定在关系R中,则称R是可传递的。一个关系R的传递闭包是包含R的最小的传递关系。---Warshall算法不用来计算最短路径,而是用来判断i和j之间是否单向连接,无论是直接连接...
分类:
其他好文 时间:
2014-05-10 05:42:47
阅读次数:
431