前序遍历:先访问跟结点,然后遍历左子树,最后遍历右子树。即“根左右”。
实现代码:
class Solution {
public:
vector preorderTraversal(TreeNode *root) {
if (root==NULL) {
return vector();
}
vector resu...
分类:
其他好文 时间:
2015-04-07 17:49:55
阅读次数:
120
题目链接:https://leetcode.com/problems/binary-tree-postorder-traversal/(非递归实现)二叉树的后序遍历。 1 class Solution 2 { 3 public: 4 vector postorderTraversal(Tre...
分类:
其他好文 时间:
2015-04-05 23:24:15
阅读次数:
160
root指向一棵二叉树的头结点,p和q分别指向该二叉树中任意两个结点的指针,编写算法,找到p和q的最近公共祖先结点r。
为了不失一般性,设p在q的左边。同时,为了编写方便,将以p和q所指结点的值代替p和q本身。根据【后续遍历最后访问根节点,在递归算法中,根是压在栈底的】,很容易想到,采用后序遍历非递归算法:栈中存放二叉树结点的指针。当访问到某结点时,栈中所有的元素都是该结点的祖先。设一个辅助栈,当没...
分类:
其他好文 时间:
2015-04-04 21:18:20
阅读次数:
150
欢迎转载,转载请务必注明出处:http://blog.csdn.net/alading2009/article/details/44872143第9题:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。
例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:
因此返回true。
如果输入7、4、6、5,没有哪棵...
分类:
其他好文 时间:
2015-04-04 13:44:40
阅读次数:
253
思路:
1.将中序遍历序列和其对应的下标存储到一个map中,方便下面的查找
2.递归选取后序序列的倒数第一个元素作为树的根节点,然后查找根节点在后序序列中位置inorderIndex,endInorder-inorderIndex可以得到右子树的长度
3.根据右子树的长度和endPreOrder可以求出后序序列中右子树的起始位置
4.从上面可以求出左右子树的后序序列和中序序列的起始位置,递归调用建树过程即可。...
分类:
其他好文 时间:
2015-04-03 15:16:31
阅读次数:
89
什么也不说了,直接上代码。首先是节点类,大家都懂得/** * 二叉树的节点类 * * @author HeYufan * * @param */class Node>{ /** * 节点储存的值 */ private T data; /** * 左子节点 */ private Node...
分类:
编程语言 时间:
2015-04-03 06:45:14
阅读次数:
207
表达式的表示如图所示的二叉树表达式:a+b*(c-d)-e/f若先序遍历此二叉树,按访问结点的先后次序将结点排列起来,其先序序列为: (波兰式,前缀表达式) -+a*b-cd/ef按中序遍历,其中序序列为:a+b*c-d-e/f (中缀表达式)按后序遍历,其后序序列为:abcd-*+ef/-(逆波兰...
分类:
其他好文 时间:
2015-04-03 00:05:23
阅读次数:
184
声明:本人Android移动开发岗 腾讯:考的很杂 选择题(25题不定项):考的包括: 编译原理两题, 计算机网络一两题(私网地址), C++若干, IOS开发一两题, 还有二叉树两三题,先后序遍历,求深度 jvm也有一题, 概率论一两题, Ja...
分类:
其他好文 时间:
2015-04-02 23:58:08
阅读次数:
403
题目:
Given a binary tree, return the postorder traversal of its nodes’ values.For example:
Given binary tree {1,#,2,3}, 1
2
/
3
return [3,2,1].Note: Recursive solution is trivial,...
分类:
其他好文 时间:
2015-04-02 22:39:03
阅读次数:
180
Java实现二叉树及相关遍历方式
在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。
二叉树常被用于实现二叉查找树和二叉堆。
以下用Java实现对二叉树的先序遍历,中序遍历,后序遍历,广度优先遍历,深度优先遍历。
转摘请注明:http://blog.csdn.net/qiuzhping/article/details/44830369...
分类:
编程语言 时间:
2015-04-02 13:29:04
阅读次数:
210