二叉树的深度优先遍历和广度优先遍历
Posted 等风来
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树的深度优先遍历和广度优先遍历相关的知识,希望对你有一定的参考价值。
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); } } }
以上是关于二叉树的深度优先遍历和广度优先遍历的主要内容,如果未能解决你的问题,请参考以下文章