我目前正在学习实习面试。
我得到了以下问题:
树搜索算法。编写BFS和DFS代码,解释运行时间和空间要求 修改代码以处理具有加权边的树和使用BFS和DFS的循环,使代码打印出目标状态的路径。
我之前使用堆栈和队列来实现DFS和BFS购买以遍历树。
例如,
void DFS(Node n) {
Stack S = new Stack();
s.push(rootNode);
rootNode.visited = true;
if (s is not empty) {
Node n = s.peek();
if (n's visited is false) {
s.push(n);
}
else {
s.pop();
}
}
但是,我不确定如何处理“加权边缘的树木”
我应该为这部分做些什么?
有人能提供一个例子吗?