具有堆栈数据结构的二叉树遍历

这是一个基于蚀的项目。 因此,附件可能会解压缩并在日食中运行。

eclipse已使用Juno和Java 7。 首先,应检查代码并运行。 然后,该博客可能会被转载。

=====================================

基于堆栈的二叉树遍历实现。 ArrayList <Integer>结果变量将具有遍历结果

在此示例中,我已将节点中的数据添加到ArrayList中。

Entry.java应该作为Java应用程序运行。 此类基本上测试功能。

仔细检查代码可以使您容易理解,始终在右分支之前探索根的左分支。 例如:子树中节点的堆栈插入顺序对于所有三个遍历都是相同的。

1)插入根-> 2)插入直到最后一个左子-> 3)弹出直到堆栈的顶部节点有右子-> 4)插入右子(此子现在是新的根,调用此节点为“新根1”)-> 5)递归地执行所有步骤,从2到4,直到堆栈的顶部节点再次为“新根1”->弹出“新根1”->弹出根

为了

=======

仅在以下情况下,才会将Node数据添加到ArrayList中

1>当任何一个叶节点弹出时,将添加其数据/节点

2>立即弹出左孩子后,将添加父级的数据/节点

3>如果父级没有左子级,则在将右子级推入堆栈之前,将立即添加其数据/节点。

预购

========

在对堆栈进行每个push()操作之后,将添加被推节点的数据/节点。

发布订单

==========

仅在以下情况下,才会将Node数据添加到ArrayList中

1>如果一个节点没有右子节点,但是有左子节点,则在弹出左子节点后立即,父节点的数据/节点

将被添加(在弹出父级后)。

2>弹出正确的儿子后,立即添加父节点的数据/节点(在弹出父节点之后)。

3>总是弹出一片叶子,并添加其数据/节点。

应该有一个更改,并且下面的行

斜体将由粗体 替换。
附加的文件
文件类型:zip treetraversal.zip (4.5 KB,126视图)

From: https://bytes.com/topic/algorithms/insights/958739-binary-tree-traversal-stack-data-structure

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值