表达树就是根据后缀表达式来建立一个二叉树。
这个二叉树的每个叶子节点就是数,真祖先都是操作符。
通过栈来建立的,所以这里也会有很多栈的操作。
树的先序遍历,中序遍历,后序遍历的概念我就不讲了,不会的自行百度,不然也看不懂我的代码。
下面是代码:
//
// main.cpp
// expressionTree
//
// Created by Alps on 14-7-29.
//...
分类:
其他好文 时间:
2014-07-30 23:57:15
阅读次数:
554
题意: 树的前,中序遍历求后序遍历。基础题。code#include #include using namespace std;string sq, sh;int len;void make (int l, int r, int t, int w) { if (l > r || t > w) r.....
分类:
其他好文 时间:
2014-07-27 21:34:05
阅读次数:
195
题解:给出了二叉树的中序和后序,重建二叉树,输出路径和最短的叶子的值。
两个模板:
给出前序和中序建树:
Node* build (int n, int* preo, int* ino) {
Node* node = new Node;
int i = 0;
if (n <= 0)
return NULL;
while (ino[i] != p...
分类:
其他好文 时间:
2014-07-25 11:26:21
阅读次数:
175
Given a binary tree, return the inorder traversal of its nodes' values.
For example:
Given binary tree {1,#,2,3},
比较简单,就是转化成中序遍历即可,访问顺序是中序遍历左子树,根节点,中序遍历右子树
Python编程的时候需要注意,要在返回单一数字的时候加...
分类:
编程语言 时间:
2014-07-25 11:07:51
阅读次数:
221
阅读目录开始最简单的使用XML的方法类型定义与XML结构的映射使用 XmlElement使用 XmlAttribute使用 InnerText重命名节点名称列表和数组的序列化列表和数组的做为数据成员的序列化类型继承与反序列化反序列化的实战演练反序列化的使用总结排除不需要序列化的成员强制指定成员的序列...
分类:
Web程序 时间:
2014-07-25 02:38:24
阅读次数:
361
递归算法大家都不陌生,当需要重复计算相同问题时,一般可以选择递归和循环两种算法。又因为递归实现起来代码比较简洁,所以通常都会使用递归来解决上述问题。比如斐波那契数列,再比如树的前序、中序、后续遍历算法。
递归算法虽然是有代码简洁这个优点,但是其缺点显著。因为递归函数是在执行过程中调用其自身,所以会占用大量的栈上空间,并且压栈和出栈都是有时间消耗的。所以从这一点上来看,递归的效率是不如循环。除...
分类:
其他好文 时间:
2014-07-24 12:24:15
阅读次数:
438
前驱和后继本文所述为二叉排序树的前驱和后继,如果想了解二叉排序树的概念,可以参考我的博文***给定一个二叉查找树中的结点,有时候要求找出在中序遍历顺序下它的后继。如果所有的关键字均不同,则某一结X点的后继就是所有(结点值)大于X的结点中最小的那个。包含两种情况:情况一:结点X的右子树非空,则X的后继...
分类:
其他好文 时间:
2014-07-24 12:22:15
阅读次数:
223
分割后长度相等,就是参数麻烦,p,先序的起始点, ib,ie 终须的结束和开始。 1 /** 2 * Definition for binary tree 3 * public class TreeNode { 4 * int val; 5 * TreeNode left;...
分类:
其他好文 时间:
2014-07-23 22:10:37
阅读次数:
211
递归实现当然太简单,也用不着为了ac走这样的捷径吧。。非递归实现还挺有意思的。树的非递归遍历一定要借助栈,相当于把原来编译器做的事情显式的写出来。对于中序遍历,先要訪问最左下的节点,一定是进入循环后,不断的往左下走,走到不能走为止,这时候,能够从栈中弹出訪问的节点,相当于“左根右”过程的“根”,然后...
分类:
其他好文 时间:
2014-07-22 23:39:17
阅读次数:
296