【数据结构与算法】根据遍历结果构建二叉树
2017-03-14 11:22
381 查看
对于普通的二叉树,已知遍历结果,如果想唯一确定二叉树,那么必须知道中根遍历,再加上先根后者后根的一种。
如果能够划分出序列中的左子树和右子树,那么就可以构建二叉树。知道先根或者后根,就可以知道根,然后再在中根遍历的结果中找出根,那么左边就是左子树,右边就是右子树。
对于BST,只需要知道先根或者后根就可以确定,或者说只需要知道根就可以确定,利用左子树比根小,右子树比根大的特性就可以划分。
有一个注意点,产生序列时,如果是int值而且是多位数,那么要用分隔符标记。
对于BST其实有一个时间更快的办法,就是把null节点也放在遍历结果中,最后直接递归处理就是bst,不需要进行值得比较了。
如果能够划分出序列中的左子树和右子树,那么就可以构建二叉树。知道先根或者后根,就可以知道根,然后再在中根遍历的结果中找出根,那么左边就是左子树,右边就是右子树。
对于BST,只需要知道先根或者后根就可以确定,或者说只需要知道根就可以确定,利用左子树比根小,右子树比根大的特性就可以划分。
有一个注意点,产生序列时,如果是int值而且是多位数,那么要用分隔符标记。
对于BST其实有一个时间更快的办法,就是把null节点也放在遍历结果中,最后直接递归处理就是bst,不需要进行值得比较了。
相关文章推荐
- 【算法学习笔记】10.数据结构基础 二叉树初步练习3(遍历与递归复习)
- 【数据结构与算法】二叉树的层序遍历
- 算法系列(七)数据结构之树的基本结构和二叉树的遍历
- 【数据结构与算法】(六) c 语言实现简单的二叉树静态创建及先序、中序、后序遍历
- 算法面试:根据前序遍历结果序列和中序遍历结果序列重构二叉树
- 数据结构上机测试4.1:二叉树的遍历与应用1【根据二叉树的前序序列和中序序列求后序序列方法1,2】
- 【数据结构与算法】二叉树的遍历
- 【数据结构与算法】二叉树的遍历
- 数据结构——根据前序遍历和中序遍历还原二叉树
- 数据结构 算法面试100题 之 逐层遍历二叉树元素
- 算法竞赛入门经典:第六章 数据结构基础 6.9 根据二叉树的后序和中序确定前序序列
- 【算法学习笔记】10.数据结构基础 二叉树初步练习3(遍历与递归复习)
- 二叉树的建立(根据遍历结果构建)、遍历(非递归)和搜索
- 【数据结构与算法】二叉树 遍历
- 数据结构例程——二叉树的层次遍历算法
- 【数据结构】——构建二叉树,遍历二叉树
- 面试题3:根据先序和中序遍历的结果构建二叉树
- 【数据结构与算法】二叉树广度遍历
- 数据结构——根据中序遍历与先序遍历构建二叉树
- 【数据结构与算法】二叉树前序、中序、后序遍历间关系