算法
MeteorChenBo
在校大学生,交通地理信息方向
展开
-
利用深度优先遍历求解用邻接矩阵表示的图中任意两个节点的所有路径
最近科研中需要用到求解图中任意两个姐节点间的所有路径,用到的是图的深度优先遍历及递归的使用,记录在此。一、图的表示方式——邻接矩阵我们知道图有两种表示方式,一种是邻接矩阵,一种是邻接表。我使用的是较为容易理解的邻接矩阵,且图为无向无权图,有向有权图的思想和无向无权图类似,在此不赘述。用邻接矩阵表示无向无权图,即用一个“顶点数×顶点数”的方阵表示节点之间的连接关系,如果两个节点之...原创 2019-06-27 21:33:35 · 6352 阅读 · 3 评论 -
C++产生随机数一直重复的问题
C++产生随机数,我们都知道,无非就是利用srand产生一个种子,然后利用rand函数产生随机数即可。但是今天在产生随机数的时候遇到了一个怪事,就是不管自己怎么产搞,多次产生的随机数都是重复的。自己的代码简化为下:#include "stdafx.h"#include <cstdlib>#include <ctime>#include <iostream&...原创 2019-06-30 11:35:31 · 14642 阅读 · 6 评论 -
Kruskal算法详解——《大话数据结构》中parent数组和Find函数的理解
最近在看《大话数据结构》,看到图的最小生成树,里面的parent数组很有意思,按照样例跑了一遍看才看懂,记录于此。一、Kruskal算法介绍 Kruskal算法是一种计算图的最小生成树的算法,常见的最小生成树算法还有Prim算法,这里主要介绍Kruskal算法。其算法步骤简单描述为: 1.记Graph中有v个顶点,e个边 𔀠.新建图Graphnew,Graphn...原创 2019-09-15 16:47:47 · 1712 阅读 · 3 评论