
数据结构~二叉树
哇-WA
这个作者很懒,什么都没留下…
展开
-
重建二叉树
给出一棵二叉树的先序遍历和中序遍历,求后序遍历。题目链接:Tree Recovery利用递归构造二叉树的后序遍历。先序遍历特点:根节点->左孩子->右孩子中序遍历特点:左孩子->根节点->右孩子后序遍历特点:左孩子->右孩子->根节点假设先序遍历序列为s1,中序遍历序列为s2,后序遍历序列为s根据先序遍历特点可知s1[0]为当前二叉树的根节点,在中序遍历中找到根...原创 2017-08-07 19:28:47 · 211 阅读 · 0 评论 -
二叉搜索树【模板】
比普通二叉树添加节点过程多了一个判断。题目链接:The order of a Tree代码:#include#include#includeusing namespace std;int n,flag;typedef struct node{ int data; node *lchild,*rchild;}BiTreeNode,*BiTree;原创 2017-08-08 09:56:07 · 728 阅读 · 0 评论 -
UVA - 679 Dropping Balls
本题如果直接用数组模拟的话会超时。每个小球都会落在根节点上,因此前两个小球必然是一个在左子树,一个在右子树。我们可以进一步的推广,如果有n个球落在根节点上,那么必然有(n+1)/2个球落在左子树上,n/2个球落在右子树上。一般的,只需看小球编号的奇偶性,就能知道它是最终在哪棵子树中。这样一层一层的进行判断,可以直接模拟最后一个小球的路线。代码:#include #include#i原创 2017-10-26 21:13:04 · 236 阅读 · 0 评论 -
二叉树的建立与遍历【模板】
二叉树的先序递归建立先序、中序、后序遍历代码:#includeusing namespace std;typedef struct node{ struct node *lchild; struct node *rchild; char data;}BiTreeNode, *BiTree;void createBiTree(BiTree &T){原创 2017-08-07 14:57:37 · 648 阅读 · 0 评论 -
L2-004. 这是二叉搜索树吗?
L2-004. 这是二叉搜索树吗?时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点,其左子树中所有结点的键值小于该结点的键值;其右子树中所有结点的键值大于等于该结点的键值;其左右子树都是二叉搜索树。所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。给定一个整数键值...原创 2018-03-14 20:03:40 · 177 阅读 · 0 评论