首页 > 代码库 > 二叉树的深度优先遍历和广度优先遍历
二叉树的深度优先遍历和广度优先遍历
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); } } }
二叉树的深度优先遍历和广度优先遍历
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。