UVA 1264 - Binary Search Tree
题目链接
题意:给定一个序列,插入二叉排序树,问有多少中序列插入后和这个树是相同的(包括原序列)
思路:先建树,然后dfs一遍,对于一个子树而言,只要保证左边和右边顺序对就可以了,所以种数为C(左右结点总数,左结点),然后根据乘法原理乘上左右子树的情况即可
代码:
#include
#include
t...
分类:
其他好文 时间:
2014-08-25 11:51:14
阅读次数:
204
1 /* 2 题意:建立一棵二叉树,左子树和父节点占一个宽度,右子树另外占一个宽度! 3 使任意左右子树交换顺序,使得整个树的宽度最小! 4 思路:递归交换左右子树 ! 开始写的代码复杂了,其实左右子树不用真的交换,只要返回交换与不交换最小的宽度值...
分类:
其他好文 时间:
2014-08-24 23:51:03
阅读次数:
248
二叉查找树的特点 下面的图就是两棵二叉查找树,我们可以总结一下他的特点:(1) 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值(2) 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值(3) 它的左、右子树也分别为二叉查找树我们中序遍历这两棵树发现一个有序的数据序列: 【1 ...
分类:
其他好文 时间:
2014-08-22 14:17:49
阅读次数:
403
原题:
Given inorder and postorder traversal of a tree, construct the binary tree.
Note:
You may assume that duplicates do not exist in the tree.
思路:和上一题一样,后续我们可以通过最后一个值得到根的值,同样可以通过定位根的值得到左右子树的...
分类:
其他好文 时间:
2014-08-21 17:22:24
阅读次数:
138
题目:
链接
解答:
自底向上求解。left_max right_max分别返回了左右子树的最大路径和,如果左右子树最大路径和小于0,那么返回零, 用这个最大路径和和根节点的值相加,来更新最大值,同时, 更新返回该树的最大路径值。
代码:
class Solution {
public:
int max = INT_MIN;
int maxPathSum(TreeNode *...
分类:
其他好文 时间:
2014-08-18 23:39:53
阅读次数:
397
定义 排序二叉树的定义也是递归定义的,需要满足: (1)若它的左子树不为空,则左子树上所有节点的值要均小于根节点的值; (2)若它的右子树不为空,则右子树上所有节点的值要均大于根节点的值; (3)左、右子树也分别是排序二叉树 如下图,对于排序二叉树,若按中序遍历就可以得到由小到大的有序序列。 创建 创建排序二叉树的步骤就是不断像排序二叉树中添加新节点(p)的过程: (1)以根节...
分类:
编程语言 时间:
2014-08-18 18:45:22
阅读次数:
316
平衡二叉树(Balanced Binary Tree)是二叉查找树的一个进化体,也是第一个引入平衡概念的二叉树。1962年,G.M. Adelson-Velsky 和 E.M. Landis发明了这棵树,所以它又叫AVL树。平衡二叉树要求对于每一个节点来说,它的左右子树的高度之差不能超过1,如果.....
分类:
其他好文 时间:
2014-08-18 10:26:43
阅读次数:
187
import java.util.Random;
/**
* 二叉排序树(又称二叉查找树)
* (1)可以是一颗空树
* (2)若左子树不空,则左子树上所有的结点的值均小于她的根节点的值
* (3)若右子树不空,则右子树上所有的结点的值均大于她的根节点的值
* (4)左、右子树也分别为二叉排序树
*
*
* 性能分析:
* 查找性能:
* 含有...
分类:
编程语言 时间:
2014-08-17 09:12:11
阅读次数:
233
1. 二叉排序树二叉排序树(Binary Sort Tree)或者是一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)左、右子树也分别为二叉排序树;(4)没有结点值相同的结点。二...
分类:
其他好文 时间:
2014-08-14 13:44:30
阅读次数:
332
1、序
详细实现了二叉查找树的各种操作:插入结点、构造二叉树、删除结点、查找、 查找最大值、查找最小值、查找指定结点的前驱和后继
2、二叉查找树简介
它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树
3、...
分类:
其他好文 时间:
2014-08-13 18:46:47
阅读次数:
164