Java中的深度优先搜索
我有一个任务需要用java实现DFS stab的内容如下所示:Java中的深度优先搜索,java,algorithm,depth-first-search,Java,Algorithm,Depth First Search,我有一个任务需要用java实现DFS stab的内容如下所示: public List<Integer> DepthFirstList(Integer v) { List<Integer> vertices = new ArrayList<Integer>(); Deque<Integer> toExplore = new ArrayDeque<Integer>(); List<Integer> v
public List<Integer> DepthFirstList(Integer v)
{
List<Integer> vertices = new ArrayList<Integer>();
Deque<Integer> toExplore = new ArrayDeque<Integer>();
List<Integer> visited = new ArrayList<Integer>();
return vertices;
}
读取输入的代码已经编写
但需要返回的“顶点”是什么
基于函数的名称,我想您应该按照访问顺序返回一个访问顶点的列表
除非我遗漏了什么,否则这将与访问的相同,这有点多余。但是访问
实际上应该是一个集合
以实现高效查找,这将使顶点
更有意义
但我不能确定你的老师在想什么。你或许应该去问问他们,让他们确认一下
我假设(根据您的问题)您不是在寻求编写此函数的帮助,只是理解了这一部分。图遍历算法通常涉及某种类型的图,其中的节点具有连通性。您的问题不包括任何要搜索的图形结构。如果您正在寻找图形遍历问题的示例,请尝试在top coder上的单轮匹配上搜索问题存档。大约一半的中等难度问题最终归结为图形遍历。
9//Number of vertices
0: {1,6} {8,2} {5,4}//{edge with, weight}
1: {0,6} {2,7} {4,9}
2: {3,4} {4,3} {1,7}
3: {1,5} {5,3}
4: {2,3} {6,1}
5: {3,3} {0,7}
6: {4,1} {1,2}