A**u 发帖数: 2458 | 1 网上看到的,不知道是不是面是题目
写一段程序判定一个有向图G中节点w是否从节点v可达。(假如G中存在一条从v至w的路
径就说节点w是从v可达的)
。以下算法是用C 写成的,在bool Reachable函数中,你可以写出自己的算法。
class Graph{
public:
int NumberOfNodes();//返回节点的总数
bool HasEdge(int u,int v);//u,v是节点个数,从零开始依次递增,当有一条从u到v
的边时,返回true
};
bool Reachable(Graph&G, int v, int w)
如果象迷宫一样,可以标记,还好做 back keeping
但这个题目没发标记已经走过的node
改怎么写代码呢 | s******n 发帖数: 3946 | 2 这个有什么花头, DFS? 用一个bool数组存visited node | l****3 发帖数: 150 | 3 自己用一个hashtable做标记吧
v
【在 A**u 的大作中提到】 : 网上看到的,不知道是不是面是题目 : 写一段程序判定一个有向图G中节点w是否从节点v可达。(假如G中存在一条从v至w的路 : 径就说节点w是从v可达的) : 。以下算法是用C 写成的,在bool Reachable函数中,你可以写出自己的算法。 : class Graph{ : public: : int NumberOfNodes();//返回节点的总数 : bool HasEdge(int u,int v);//u,v是节点个数,从零开始依次递增,当有一条从u到v : 的边时,返回true : };
| A**u 发帖数: 2458 | 4 多谢
【在 l****3 的大作中提到】 : 自己用一个hashtable做标记吧 : : v
|
|