您的位置:首页 > 其它

二叉树的深度优先遍历和广度优先遍历

2017-05-11 00:07 274 查看
1. 二叉树的深度优先遍历,使用栈Stack,

DFS(Depth First Search)

function DFS(root){
var stack = [];
stack.push(root);
var node = null;
while(stack.length){
node = stack.pop();
//visit node.data;
if(node.right){
stack.push(node.right);
}
if(node.left){
stack.push(node.left);
}
}
}


2. 二叉树的广度优先遍历,使用队列Queue

BFS(Breadth First Search)

function BFS(root){
var queue = [];
queue.push(root);
var node = null;
while(queue.length){
node = queue.shift();
//visit node.data
if(node.left){
queue.push(node.left);
}
if(node.right){
queue.push(node.right);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: