平衡查找树的目标是实现查找、插入、删除操作在最坏情况下的复杂度均为logN。
本节将介绍二三查找树。
二三树中有两种节点:
二节点对应一个键,有两个子节点
三节点对应两个键,有三个子节点
二三查找树非常平衡,每个空节点到根节点的距离都是一样的 。
查找操作
在二三树中查找一个键的时候有以下...
分类:
其他好文 时间:
2014-06-19 11:32:21
阅读次数:
157
题目:从上往下打印出二叉树的每个结点,从一层的结点按照从左往右的顺序打印。分析:类似于宽度优先搜索。可以采用队列来实现。 8 6 105 7 9 11依次打印:8,6,10,5,7,9,11首先我们获得根节点,每次打印根节点后,接下来就打印它的左右子树,如上图,先将8压入容器,接下...
分类:
其他好文 时间:
2014-06-18 22:56:51
阅读次数:
209
在Oracle 10g下,来到scott用户下,分别以层次 1,2,3,4上的节点做实验:
当start with是根节点(level=1),要查其子节点,connect by pump和emp都是被扫描4次(总的层次)。
当start with是根节点(level=2),要查其子节点,connect by pump和emp被扫描3次。
当start wi...
分类:
数据库 时间:
2014-06-16 22:10:00
阅读次数:
232
题目:输入一个数组,判断数组是不是某二叉搜索树的后序遍历。输入的数组的任意两个数字都不相同 分析:要明白题目的意思,意思就是判断一个数组是否是某个搜索树的后序遍历。首先要搞清搜索树的含义:跟结点大于左子树而小于右子树。其次,数组的最后一个结点一定是后序遍历的根节点。所以我们只要满足这两个条件,再通过...
分类:
其他好文 时间:
2014-06-16 13:27:16
阅读次数:
175
红黑树就是将二三树表示成二叉树的形式,极大地简化了算法。
红黑树的基本思想就是将二三树中的三节点表示成两个二节点,而这两个二节点之间使用红色的连接,普通连接使用黑色的连接。
红黑树中的每个节点都有以下性质:
没有一个节点同时拥有两个红连接
每个空节点到根节点路径上黑色连接的数量都是相同的
红连接只会出现在左边
下图展示...
分类:
其他好文 时间:
2014-06-16 11:53:53
阅读次数:
164
假设一棵二叉树的后序遍历序列为 DGJHEBIFCA ,中序遍历序列为 DBGEHJACIF ,求前序遍历。
整体思路是这样的,由后序遍历找到每个节点,然后由中序遍历判断左右子树,将整个二叉树还原后写出前序遍历。
后序遍历的顺序知道,最后一个A是二叉树的根节点,
然后把中序遍历从A分成两段,A左边的是左子树,A右边的是右子树,
结果如下
...
分类:
其他好文 时间:
2014-06-15 17:19:24
阅读次数:
251
1.易知,树上两点的距离dis[u][v] = D[u]+D[v]-2*D[lca(u,v)] (D为节点到根节点的距离)2.某条边权值一旦改变,将会影响所有以v为根的子树上的节点到根节点的距离,很明显,DFS一遍后以v为根的子树在DFS序列中是连续的一段,及转化为区间更新问题,可以用树状数组。做法...
分类:
其他好文 时间:
2014-06-15 11:42:02
阅读次数:
213
树的删边游戏。。由于题目的特殊性,我们只需计算环的边数值。若为偶环,则直接把环的根节点置0。若为奇环,则留下一条边与根结点相连,并那它们的SG置0;注意的是,两个点也可构成环,因为允许重边。所以,我们只需求点双连通分量,并判断分量中边的数量即可。然后DFS求树的SG值。 1 #include ...
分类:
其他好文 时间:
2014-06-15 10:43:23
阅读次数:
285
CCScene一般情况是游戏里面的根节点,称之为"场景",运行游戏时需要通过CCDirector启动第一个场景。当然,游戏稍微复杂一点的话,可能会包含很多个场景,这就涉及到场景的切换,也是通过CCDirector来完成。CCScene是个抽象的概念,也没有可视化显示的功能,对比CCNode,CCSc...
分类:
其他好文 时间:
2014-06-14 23:23:49
阅读次数:
355
1. trie树,又名字典树,顾名思义,它是可以用来作字符串查找的数据结构,它的查找效率比散列表还要高。
trie树的建树:
比如有字符串”ab” ,“adb”,“adc” 可以建立字典树如图:
树的根节点head不存储信息,它有26个next指针,分别对应着字符a,b,c等。插入字符串ab时,next[‘a’-‘a’]即next[0]为空,这...
分类:
其他好文 时间:
2014-06-14 14:25:50
阅读次数:
406