- 博客(2)
- 收藏
- 关注
原创 java 二叉树,非递归遍历
绝大多数可以用递归解决的问题,其实都可以用另一种数据结构来解决,这种数据结构就是栈。 因为递归和栈都有回溯的特性。 如何借助栈来实现二叉树的非递归遍历呢?下面以二叉树的前序遍历为例,看一看具体过程。 1.首先遍历二叉树的根节点1,放入栈中。 2.遍历根节点1的左孩子节点2,放入栈中 3.遍历节点2的左孩子节点4,放入栈中。 4.节点4既没有左孩子,也没有右孩子,我们需要回溯到上一个节点2。可是现在并不是做递归操作,怎么回溯呢? 别担心,栈已经存储
2021-07-21 14:31:19
388
原创 java 二叉树(遍历,查找,删除)
什么是二叉树 每个节点最多含有两个子树的树称为二叉树。下图就是一个二叉树。 在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树。这种树的特点是每一层上的节点数都是最大节点数。 (2)完全二叉树完全二叉树是一种叶子结点只能出现在最下层和次下层且最下层的叶子结点集中在树的左边的特殊二叉树。图5.5(a)所示为
2021-07-21 14:30:03
159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅