一个是先遍历完一个节点的所有子节点再按照同样的方式遍历兄弟节点
一个是先遍历所有的兄弟节点,然后再遍历下一层的兄弟节点。
所以,深度优先遍历通常采用递归的方式解决。
广度优先遍历通常采用一个辅助的队列来解决。
pesudoCode
visitDFS(Node d){
System.out.println(d is d);
for(Node node : d的所有的子节点){
visitDFS(node);
}
}
visitBFS(Node d){
Queue q = new Queue();
q.enqueue(d);
Node d = q.dequeue();
while(d){
System.out.println(d is d);
for(Node node : d的所有的子节点){
q.enqueue(node);
}
d = q.dequeue();
}
}