前言:
而今同学们对“二叉树的遍历算法java”大体比较讲究,姐妹们都想要剖析一些“二叉树的遍历算法java”的相关文章。那么小编在网摘上汇集了一些对于“二叉树的遍历算法java””的相关文章,希望兄弟们能喜欢,小伙伴们一起来了解一下吧!二叉树的基础遍历
1:前序遍历:先访问根结点,然后再访问左子树,最后访问右子树;
2:中序遍历:先访问左子树,然后再访问根结点,最后访问右子树;
3:后序遍历:先访问左子树,然后再访问右子树,最后访问根结点;
示例如下:前序遍历的API设计:
public Queue<Key> preErgodic():使用前序遍历,获取整个树中的所有键private void preErgodic(Node x,Queue<Key> keys):使用前序遍历,把指定树x中的所有键放入到keys队列中实现步骤:把当前结点的key放入到队列中;找到当前结点的左子树,如果不为空,递归遍历左子树;找到当前结点的右子树,如果不为空,递归遍历右子树;代码实现:
//使用前序遍历获取整个树中所有的键 public Queue<Key> preErgoidic(){ Queue<Key> keys = new Queue<>(); preErgoidic(root,keys); return keys; } //使用前序遍历获取指定树x的所有键,并放到Keys队列中 private void preErgoidic(Node x, Queue<Key> keys){ if(x == null){ return; } //把x结点的key放入到keys中 keys.enQueue(x.key); //递归遍历x结点的左子树 if(x.left != null){ preErgoidic(x.left,keys); } //递归遍历x结点的右子树 if(x.right != null){ preErgoidic(x.right,keys); } }中序遍历的API设计:
public Queue midErgodic():使用中序遍历,获取整个树中的所有键private void midErgodic(Node x,Queue keys):使用中序遍历,把指定树x中的所有键放入到keys队列中实现步骤:找到当前结点的左子树,如果不为空,递归遍历左子树;把当前结点的key放入到队列中;找到当前结点的右子树,如果不为空,递归遍历右子树;代码实现:
//使用中序遍历获取整个树中所有的键 public Queue<Key> midErgoidic(){ Queue<Key> keys = new Queue<>(); midErgoidic(root,keys); return keys; } //使用中序遍历获取指定树x的所有键,并放到Keys队列中 private void midErgoidic(Node x, Queue<Key> keys) { if(x == null){ return; } //递归遍历x结点的左子树 if(x.left != null){ midErgoidic(x.left,keys); } //把x结点的key放入到keys中 keys.enQueue(x.key); //递归遍历x结点的右子树 if(x.right != null){ midErgoidic(x.right,keys); } }后序遍历的API设计:
public Queue afterErgodic():使用中序遍历,获取整个树中的所有键private void afterErgodic(Node x,Queue keys):使用中序遍历,把指定树x中的所有键放入到keys队列中实现步骤:找到当前结点的左子树,如果不为空,递归遍历左子树;找到当前结点的右子树,如果不为空,递归遍历右子树;把当前结点的key放入到队列中;代码实现:
//后续遍历 public Queue<Key> afterErgoidic(){ Queue<Key> keys = new Queue<>(); afterErgoidic(root,keys); return keys; } //使用中序遍历获取指定树x的所有键,并放到Keys队列中 private void afterErgoidic(Node x, Queue<Key> keys) { if(x == null){ return; } //递归遍历x结点的左子树 if(x.left != null){ afterErgoidic(x.left,keys); } //递归遍历x结点的右子树 if(x.right != null){ afterErgoidic(x.right,keys); } //把x结点的key放入到keys中 keys.enQueue(x.key); }
原文链接:
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #二叉树的遍历算法java