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

Posted 52hadoop

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树的深度优先遍历和广度优先遍历相关的知识,希望对你有一定的参考价值。

        //深度遍历
        private  void depthQuery(Node  root){
            Stack<Node> stack = new Stack<Node>();
            stack.push(root);
            while (stack.empty() ==false){
                Node node = stack.pop();
                System.out.println(node.value);
                if (root.right !=null){
                    stack.push(root.right);
                }
                if (root.left !=null){
                    stack.push(root.left);
                }
            }
        }

        //广度遍历
        private void wideQuery(Node  root){
            Queue<Node> queue  = new LinkedList<Node>();
            queue.offer(root);
            while (queue.size() !=0){
                Node node = queue.poll();
                System.out.println(node.value);
                if (node.left !=null){
                    queue.offer(node.left);
                }
                if (node.right !=null){
                    queue.offer(node.right);
                }
            }
        }

 

以上是关于树的深度优先遍历和广度优先遍历的主要内容,如果未能解决你的问题,请参考以下文章

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

多级树的深度优先遍历与广度优先遍历(Java实现)

JavaScript实现树的深度优先遍历和广度优先遍历

二叉树遍历(前序中序后序层次深度优先广度优先遍历)

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

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