遍历一棵二叉树常用的有四种方法,前序(PreOrder)、中序(InOrder)、后序(PastOrder)还有层序(LevelOrder)。前中后序三种遍历方式都是以根节点相对于它的左右孩子的访问顺序定义的。例如根->左->右便是前序遍历,左->根->右便是中序遍历,左->右->根便是后序遍历。而 ...
分类:
其他好文 时间:
2020-02-19 19:17:37
阅读次数:
86
通过观察递归实现,用循环和栈模拟递归实现中结点入栈和出栈的过程。 ...
分类:
其他好文 时间:
2019-12-29 18:31:21
阅读次数:
60
参考链接:https://segmentfault.com/a/1190000016674584 前言 二叉树的前中后序遍历是面试考察中一个重要的点。而递归方法是最简单实现的,所以要信手拈来。非递归方法更要加以掌握。前序就是根-左-右,中序是左-根-右,后序是左-右-根。有两种通用的遍历树的策略:深 ...
分类:
其他好文 时间:
2019-12-29 15:09:43
阅读次数:
75
前言 在 "【算法04】树与二叉树" 中,已经介绍过了关于树的一些基本概念以及二叉树的前中后序遍历,而这篇文章将是在二叉树的基础上来展开讲解的二叉搜索树,也就是说二叉搜索树建立在树的基础之上。至于博主为何要花一整篇文章来讲这个二叉搜索树呢?原因很简单,红 黑树是基于二叉搜索树的,如果对二叉搜索树不了 ...
分类:
其他好文 时间:
2019-12-16 09:18:32
阅读次数:
88
现给出扩展二叉树(‘ . ’表示子树为空)的前序序列,要求输出其前中后序序列。 input: ABD..EF..G..C.. ...
分类:
其他好文 时间:
2019-10-30 14:03:17
阅读次数:
84
大致可以总结如下: 1. 前序排列(preorder):根左右 2. 中序排列(inorder):左根右 3. 后续排序(postorder):左右根 重点看“根”的位置,在最前面就是前序,中间就是中序,后面就是后序。补充一点,上述排列都是DFT(深度优先排列,Depth First Travers ...
分类:
其他好文 时间:
2019-10-08 22:24:51
阅读次数:
736
遍历规则 + 前序遍历:根结点 左子树 右子树 + 中序遍历:左子树 根结点 右子树 + 后序遍历:左子树 右子树 根结点 + 层次遍历:只需按层次遍历即可 注: 1.前序、中序、后序属于深度优先遍历(使用递归较为方便),层次遍历为广度优先遍历(一般实现需要借助其他数据结构的支撑,如下面的队列等)。 ...
分类:
其他好文 时间:
2019-09-22 23:55:02
阅读次数:
221
前言 前言 前面介绍了二叉排序树的构造和基本方法的实现。但是排序遍历也是比较重要的一环。所以笔者将前中后序.和层序遍历梳理一遍。 了解树的遍历,需要具有的只是储备有队列,递归,和栈。这里笔者都有进行过详细介绍,可以关注笔者数据结构与算法专栏。持续分享,共同学习。 前面介绍了二叉排序树的构造和基本方法 ...
分类:
其他好文 时间:
2019-08-22 12:40:22
阅读次数:
90
1.二叉树的根节点,子节点,双亲,祖宗,孩子,层次编号,深度,有关兄弟关系?度为2的树不是二叉树。 二叉树的定义与特征;二叉树的顺序存储和链式存储;二叉树的遍历;线索二叉树的基本概念和构造。 2.倾斜二叉树与完全二叉树 3.前中后序遍历 前根序遍历:先遍历根结点,然后遍历左子树,最后遍历右子树 中根 ...
分类:
其他好文 时间:
2019-08-20 23:57:48
阅读次数:
177
一、数据结构 1.手写链表的基本操作(创建、新增节点、删除节点、销毁等) 2.链表的反转 3.如何判断一个链表有环 4.双向链表删除一个非头非尾节点 5.单向链表删除一个非头非尾节点 6.二叉树的前、中、后序遍历打印 7.STL中vector的内部实现原理 8.STL中vector与list的区别 ...
分类:
编程语言 时间:
2019-08-20 22:30:56
阅读次数:
139