社区
数据结构与算法
帖子详情
在一个有向图中,如何把得到两点之间的所有路径
MoonInCloud
2002-09-01 07:57:13
在一个有向图中,如何把得到两点之间的所有路径
...全文
381
2
打赏
收藏
在一个有向图中,如何把得到两点之间的所有路径
在一个有向图中,如何把得到两点之间的所有路径
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MoonInCloud
2002-09-02
打赏
举报
回复
ok
zhoukun666
2002-09-01
打赏
举报
回复
我给你一个starfish的code
#include <iostream.h>
#include <fstream.h>
const int MAX_N = 100; // 最多的节点数目
const char* INPUT_FILE = "Graph.txt";
struct Graph {
int NodeCount; // 节点的数目
int AdjMatrix[MAX_N][MAX_N]; // 邻接矩阵,如果图中i,j相邻则G[i][j]>0,否则G[i][j]=0
};
typedef int Path[MAX_N]; // 用来存储路径
typedef bool Mark[MAX_N]; // 标记访问过的节点
void PrintPath(Path& path, int length) { // 打印路径
for (int i = 0; i < length; i++) {
cout << path[i] << " ";
}
cout << endl;
}
// 深度优先搜索
// G 输入的图,
// path用来记录路径
// visited 用来标记搜索过的节点,初始化全部为false
// v 当前的节点
// T 目的节点
// length 目前已经得到的路径的长度
void SearchAllPath(const Graph& G, Path& path, Mark& visited, int v, int des, int length) {
if (visited[v]) return;
path[length-1] = v;
if (v == des) {
PrintPath(path, length);
} else {
visited[v] = true;
for (int i = 0; i < G.NodeCount; i++)
if (G.AdjMatrix[v][i] != 0 && !visited[i]) {
SearchAllPath(G, path, visited, i, des, length+1);
}
visited[v] = false;
}
}
void ReadData(Graph& G, int& src, int& des) //读入数据
{
ifstream fin(INPUT_FILE);
fin >> G.NodeCount >> src >> des; // 读入节点数目,起点终点,节点从0开始标号
for (int i = 0; i < G.NodeCount; i++)
for (int j = 0; j < G.NodeCount; j++) {
fin >> G.AdjMatrix[i][j];
}
}
int main()
{
Graph G;
int src, des; // 起点和终点
Path path; // 存储路径
Mark visited; // 访问标记
ReadData(G, src, des); //读入数据
for (int i = 0; i < G.NodeCount; i++) visited[i] = false; // 初始化
SearchAllPath(G, path, visited, src, des, 1);
return 0;
}
项目管理工具(3):关键
路径
法
在日常工作
中
,最经常遇到的问题有两个,
一个
是工期紧,也就是没时间;
一个
是预算控制,也就是没钱。 《关键
路径
法》是解决这两个问题的众多方法
中
的一种,可以帮助提供一种解决问题的思路,帮助我们找到解决问题的...
有向图
之求
两点
之间
所有
路径
有向图
之求
两点
之间
所有
路径
在
有向图
中
遍历输出
两点
之间
的所有
路径
* 在
有向图
中
遍历
两点
之间
的所有
路径
,节点从0开始记 */ public class Main { static Scanner sc = new Scanner(System.in); static int n,m;//顶点数,边数 static int start,end;//源点,终点 static List&...
有向图
中
任意
两点
的
路径
【图技术】
有向图
中
任意
两点
的
路径
基于networkx的隐性集团关系识别模型 基于Neo4j的担保社群型态分析挖掘 前言 随着人工智能的不断发展,图这门技术也越来越重要,很多人都开启了学习图技术,本文就介绍了图技术...
遍历图
中
两点
间所有
路径
Python代码
快速寻找
有向图
中
两点
间的所有
路径
输入邻接矩阵(Numpy矩阵),起点,终点, 返回包含图
中
起点和终点间所有
路径
的list def find_all_path(self, graph, start, end): p = [[start, ]] pd = [] while len(p): # ...
数据结构与算法
33,010
社区成员
35,328
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章