线段树的入门级 总结 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节 ...
分类:
其他好文 时间:
2017-03-11 23:55:04
阅读次数:
331
判断两序列是否为同一二叉搜索树序列 开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束。接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序 ...
分类:
其他好文 时间:
2017-03-10 00:41:16
阅读次数:
195
题目大意:有向图求割点 题目思路: 一个点u为割点时当且仅当满足两个两个条件之一: 1.该点为根节点且至少有两个子节点 2.u不为树根,且满足存在(u,v)为树枝边(或称 父子边,即u为v在搜索树中的父亲),使得 dfn(u)<=low(v)。 然后注意读入,很容易RE #include<stdio ...
分类:
Web程序 时间:
2017-03-08 21:24:26
阅读次数:
152
平衡树是个大专题啊qwq。。最近也学了一些很有用的平衡树,写个总结吧。。 一.splay 学的第一个平衡树,复习一下。。 splay是一个功能很强大的二叉搜索树。其实讲道理splay并不算平衡树吧,因为它并没有任何关于树高的限制。splay的原理就是,每次插入或查询一个结点,就把它旋转到根结点,这样 ...
分类:
其他好文 时间:
2017-03-05 11:30:19
阅读次数:
154
由于是满二叉树,用数组既可以表示父节点是i,则左孩子是2*i,右孩子是2*i+1另外根据二分搜索树的性质,中序遍历恰好是从小到大排序因此先中序遍历填充节点对应的值,然后再层次遍历输出即可。 又是一道遍历的水题。。。 #include <iostream> #include <cstdio> #inc ...
分类:
其他好文 时间:
2017-03-02 12:58:39
阅读次数:
162
【思路】BST的后序序列的合法序列是,对于一个序列S,最后一个元素是x (也就是根),如果去掉最后一个元素的序列为T,那么T满足:T可以分成两段,前一段(左子树)小于x,后一段(右子树)大于x,且这两段(子树)都是合法的后序序列。下面是在讨论中看到的一份代码,已学习到。 ...
分类:
其他好文 时间:
2017-03-01 13:53:18
阅读次数:
127
第一部分 基本概念以及编程实现 概述: 遍历树,就是指按照一定的顺序访问树中的所有节点。 遍历树有三种常用方法,分别是中序遍历(inorder)、前序遍历(preorder)、后序遍历(postorder) 三种遍历方法的三个步骤都是相同的,只不过这三个步骤的执行顺序不同。三种遍历方式的名称的由来是 ...
分类:
编程语言 时间:
2017-02-26 12:49:12
阅读次数:
281
9.1概述 1)树是一种数据存储结构 2)树结合了有序数组和链表的优点,并且避免了有序数组和链表的缺点。 3)树的术语:路径、根、父节点、子节点、叶子节点、层、子树、访问、遍历、关键字 4)树的分类, 5)与树相关的其他知识点 5.1二叉搜索树中的非平衡树、非平衡子树 6)Java编程思路 7)用数 ...
分类:
编程语言 时间:
2017-02-24 22:16:58
阅读次数:
190
项目经理 介绍了产品经理——正确地做产品与项目经理——正确地做流程。以及微软的职位名称。微软产品团队三足鼎立的角色分配就是PM、开发、测试。PM负责除产品开发和测试之外的所有事情。从某种意义上说,是前面两种角色的综合。微软通常有专门的产品策划,他们和市场部门的专职人员一起,负责产品的长期发展和市场推 ...
分类:
其他好文 时间:
2017-02-11 15:42:38
阅读次数:
222
不说了,这玩意就是个人生题,昨天晚上各种鬼,还有变量突然变成0的坑爹事情都出现了。 十五步以上算-1解。。。 总体思路,IDA*: 1.写个估值函数,这里我写的是和目标图的理想差异 2.枚举步数,根据步数和估值来决定剪枝。 3.一点经验,估值剪枝不要严格卡在步数上,可以适当放高上限,确保答案在搜索树 ...
分类:
其他好文 时间:
2017-02-10 14:40:02
阅读次数:
213