二叉树&&各种树
#
1900_
你热爱什么,你追求什么,你就成为什么
展开
-
线段树详解 二 ----(区间修改区间查询)
例题POJ3468 ----模板题题目链接原理详解:首先 大家应该都已经会了线段树的 单点更新和单点查询了 也就是已经了解了线段树的整体机制如果不了解 先看这个 单点修改 单点查询 那么 线段树的区间操作呢 主要是使用了一个延迟标记lazy标记(延迟标记、懒惰标记)通过线段树的区间查询和单点修改,我们知道,我们建立一棵二叉树,每个节点代表一个区间,叶子节点代表一...原创 2018-08-06 15:04:17 · 799 阅读 · 0 评论 -
一文看懂二叉搜索树~(又叫二叉查找树) 代码+详解(C/C++)
写了一下午,终于把这个整理完了。。。概念二叉查找树(Binary Search Tree),又被称为二叉搜索树,二叉排序树。为什么叫二叉查找树呢,因为它一般的树不同,它具有如下性质若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值。 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值。 它的左、右子树也分别为二叉查找树。 在二叉查找树中,没有值相等的...原创 2018-12-21 18:12:15 · 1289 阅读 · 0 评论 -
数据结构 统计二叉树中度为0,1和2的结点个数
Description给定先序序列,按照该序列创建对应的二叉树,并输出该二叉树度为0,1和2的结点个数。Input一行,二叉树按先序遍历序列,空指针用字符^占位Output一行,三个整数分别代表该二叉树度为0,1和2的结点个数Sample InputABD^^^CE^^F^^Sample Output3 1 2递归遍历寻找理解递归的思想 就很好理解程...原创 2018-04-08 22:13:05 · 17267 阅读 · 0 评论 -
【数据结构】进击的二叉查找树
Description给定1~N的两个排列,使用这两个排列分别构建两棵二叉查找树(也就是通过往一棵空树中依次插入序列元素的构建方式)。如果这两棵二叉查找树完全相同,那么输出YES;否则输出NO。之后,输出第一个排列对应的二叉查找树的后序序列、层序序列。Input每个输入文件中一组数据。第一行1个正整数N(1<=N<=30),表示二叉查找树中的结点个数。接下来两行...原创 2018-12-21 14:19:39 · 349 阅读 · 0 评论 -
二叉树的高
Description给定一颗二叉树的先序序列,求该二叉树的高。Input输入包括两部分第一部分:一个正整数n,代表有n颗二叉树第二部分:包括n行,每行代表一颗二叉树的先序遍历序列,空指针用字符^占位Outputn行,每行一个整数,代表对应二叉树的高度Sample Input2ABC^^^^AB^^^Sample Output32求二叉树的高是二叉树...原创 2018-12-21 14:12:10 · 898 阅读 · 0 评论 -
线索二叉树
Description本题中,将会给出一个按照先序遍历得出的字符串,空格代表空的子节点,大写字母代表节点内容。请通过这个字符串建立二叉树,并按照题目描述中算法,中序遍历二叉树并中序线索化二叉树,之后中序遍历输出二叉线索树。在遍历二叉树的过程中,是按照一定的规则将二叉树中的结点排列成一个线性序列,从而得到二叉树中结点的先序序列或中序序列或后序序列。但是,当以二叉链表作为存储结构时,只能找到结...原创 2018-12-21 13:30:35 · 739 阅读 · 0 评论 -
哈夫曼编码(自底向上的哈夫曼编码)
Description本题中,读入n个字符所对应的权值,生成赫夫曼编码,并依次输出计算出的每一个赫夫曼编码。Input输入的第一行包含一个正整数n,表示共有n个字符需要编码。其中n不超过100。第二行中有n个用空格隔开的正整数,分别表示n个字符的权值。Output共n行,每行一个字符串,表示对应字符的赫夫曼编码。Sample Input85 29 7 8 14 2...原创 2018-12-21 13:20:29 · 3189 阅读 · 0 评论 -
hdu1166------树状数组(板子)
题目树状数组查询和修改的时间复杂度都是log(n),空间复杂度则为O(n)原理add()函数用来给树状数组按照他的规则赋值结合lowbit转换函数使用int lowbit(int x){ return x&(-x);}void add(int i,int val){ while(i<=n){ c[i]+=val; ...原创 2018-08-03 09:26:46 · 208 阅读 · 0 评论 -
线段树详解 一(单点更新 区间查询)
例题 hdu1754 题目链接这道题是线段树的 单点更新和区间查询最大值(AC代码在最后)通过这道题 理解下线段树线段树的原理关于原理 网上有很多讲解 大家可以自己学习 这里不单独赘述原理而是结合代码讲解下 原理也不难 相信大家看了代码仔细看下边的解释可以理解另外 推荐两篇聚聚写的博客 写的很详细~~~~(但是讲的很深入很系统 自行选择重...原创 2018-08-03 22:54:18 · 676 阅读 · 0 评论 -
NYOJ116----线段树&&树状数组
题目传送门~~戳一戳线段树解法注意数组大小,一般我们用线段树,都开四倍空间。但是这道题数据量是一百万,四倍开不了所以我们就不能开四倍,而要计算一下空间,避免浪费。计算方法就是 1000000 找到2的n次方刚好大于一百万的那个数 就是2的20次方是1048576然后再拿1048576 x 2 = 2097152 得到的这个数就是所需的大概空间代码#inc...原创 2018-08-04 17:32:43 · 295 阅读 · 0 评论 -
已知二叉树的后序和中序遍历结果 求前序结果
Description题目很简单,给你一棵二叉树的后序和中序序列,求出它的前序序列(So easy!)。Input输入有多组数据(少于100组),以文件结尾结束。每组数据仅一行,包括两个字符串,中间用空格隔开,分别表示二叉树的后序和中序序列(字符串长度小于26,输入数据保证合法)。Output每组输出数据单独占一行,输出对应得先序序列。Sample Input...原创 2018-04-24 16:58:03 · 4280 阅读 · 5 评论