算法
quanshengxixin
这个作者很懒,什么都没留下…
展开
-
最短路径--弗洛伊德算法
【1】为什么需要弗洛伊德算法? 带权图中单个源点到所有顶点的最短路径问题可以用《迪杰斯特拉算法》求解。 那如果要求图中每一个顶点与其它顶点之间的最短路径呢?类似可以想到的方法为: 每次以一个顶点为源点,重复执行地杰斯特拉算法算法n次。 这样,理论上我们便可以求得每一个顶点与其它顶点的最短路径,总的执行时间为O(n3)。 好吧!为了实现这个中需求,可以采用另外一种求解算转载 2017-03-07 15:03:12 · 411 阅读 · 0 评论 -
最短路径--迪杰斯特拉算法
转载自博客园 【1】最短路径 最短路径?别乱想哈,其实就是字面意思,一个带边值的图中从某一个顶点到另外一个顶点的最短路径。 官方定义:对于内网图而言,最短路径是指两顶点之间经过的边上权值之和最小的路径。 并且我们称路径上的第一个顶点为源点,最后一个顶点为终点。 由于非内网图没有边上的权值,所谓的最短路径其实是指两顶点之间经过的边数最少的路径。 别废话了!转载 2017-03-07 15:23:22 · 510 阅读 · 0 评论 -
随机等概率的输出m个不重复的数
今天看到一段代码,可以从0.....n-1中随机等概率的输出m个不重复的数(n远远大于m)。遂记录下来。 首先,产生随机数,不免要用到srand,rand函数。先简单介绍下两个函数。 1,void srand(unsigned int seed); 初始化随机数生成器,对于每一个不同的seed,每一次调用rand()将会产生不同的随机数序列。 特别的,当seed转载 2017-09-17 16:09:43 · 1214 阅读 · 0 评论