Java中的深度优先搜索

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

我有一个任务需要用java实现DFS

stab的内容如下所示:

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}