二叉树的一个小性质
2015-09-19 00:47
274 查看
很明显,已知一棵二叉树的前序遍历和后序遍历,判断中序遍历时,其可能性只与没有兄弟节点的叶节点的位置有关。
假设没有兄弟节点的叶节点共有n个,则可能性边有2^n个。(就不证明了)
那么,如何计算n的值呢?
下面有一个性质:
一棵二叉树的前序遍历a1a2a3...ai和后序遍历b1b2b3...bi有一种关系:
没有兄弟节点的叶节点的根 在a序列下标为i, 在b序列下标为j
则有 a[i-1] == b[j+1]
这是因为当根只有一棵子树时,前序和后序遍历都是先遍历它的孩子,而且是唯一的一个孩子,所以相对位置是一样的。
具体的题目见codevs1029
假设没有兄弟节点的叶节点共有n个,则可能性边有2^n个。(就不证明了)
那么,如何计算n的值呢?
下面有一个性质:
一棵二叉树的前序遍历a1a2a3...ai和后序遍历b1b2b3...bi有一种关系:
没有兄弟节点的叶节点的根 在a序列下标为i, 在b序列下标为j
则有 a[i-1] == b[j+1]
这是因为当根只有一棵子树时,前序和后序遍历都是先遍历它的孩子,而且是唯一的一个孩子,所以相对位置是一样的。
具体的题目见codevs1029
相关文章推荐
- ios 应用实现快速的临时缓存之模型的自动归档
- Android完整弹窗界面
- Linux常用命令(一)-- history命令
- Android单击界面上面的其他位置,取消焦点,让键盘消失
- 1.2.2 依赖注入容器/框架 Spring
- 温故而知新-----一、Java常识
- android studio 常用插件
- Android取消文本框聚焦事件
- c/c++多线程模拟系统资源分配(并通过银行家算法避免死锁产生)
- JDBC六部曲
- emacs搜索和替换
- nc +tar 传送文件
- 加密你的SQLite
- 奇妙的位运算
- ssh sshd scp 基于密钥认证登陆 双机互信
- spring的annotation-driven配置事务管理器
- POJ 1320 Street Numbers 佩尔方程
- PostGreSQL 结合 Hibernate 在项目中的使用小结
- Android刷新页面
- EmguCV使用Stitcher类来拼接图像