java - 深度优先搜索/广度优先搜索简单实现

标签 java depth-first-search breadth-first-search

List<Tree<T>> unvisited = node.getChildren();

DFS:
while (!unvisited.isEmpty()) {
   Tree<T> node = unvisited.remove(0);
   //search node
   unvisited.addAll(0, node.getChildren());
}

BFS:
while (!unvisited.isEmpty()) {
   Tree<T> node = unvisited.remove(0);
   //search node
   unvisited.addAll(node.getChildren());
}

这些实现是不是太简单了以至于不真实?想知道我是否遗漏了什么?

最佳答案

Are these implementations too simple to be true? Was wondering if I'm missing something?



你的实现是正确的。

关于java - 深度优先搜索/广度优先搜索简单实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16378049/

相关文章:

javascript - 如何找到二维数组中的所有路径?

java - jQuery 表单提交在 JSF 中不起作用?

java - Eclipse EXCEPTION_ACCESS_VIOLATION 崩溃

java - 如何获取特定的pdf信息?

java - 遍历深度优先搜索时从邻接表中获取节点 - Java

depth-first-search - 关于广度优先完整性与深度优先不完整性的问题

c++ - 使用线性代数或 BFS 求图的直径

php - 用于查找数据树节点之间路径的高效代码

javascript - Javascript 中的递归不起作用(CodeWars 问题)

java - 如何在java中打开系统文件资源管理器来选择要保存或加载的文件?