题目链接:51nod 1412 AVL树的种类 开始做的时候把深度开得过小了结果一直WA,是我天真了。。 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #include<queue> 5 using namespace ...
分类:
其他好文 时间:
2016-10-25 02:53:31
阅读次数:
183
题意给了n个节点的AVL数 问种类 树的深度不大 那么转移方程很明显了 dp[i][j] 代表的是节点为n深度为j的树的种类 k为左子树的节点个数 //dp[i][j+1] += dp[k][j]*dp[i-k-1][j];//dp[i][j+1] += 2*dp[k][j-1]*dp[i-k-1] ...
分类:
其他好文 时间:
2016-10-23 20:47:06
阅读次数:
156
在网上学习了一些材料。 这一篇:https://www.zhihu.com/question/30527705 另外Redis作者描述的使用跳表的原因: 上面文章中有一些英文缩写,整理如下: 红黑树与B(+)树工程实现的比较: 从各自特点特征角度,分析各种数据结构的应用场景: 红黑树的介绍可以看这两 ...
分类:
其他好文 时间:
2016-10-22 18:12:43
阅读次数:
891
AVL,平衡二叉查找树。删除,插入,查找的复杂度都是O(logn)。它是一棵二叉树。对于每个节点来说,它的左孩子的键值都小于它,右孩子的键值都大于它。对于任意一个节点,它的左右孩子的高度差不大于1。树的高度的定义为:空节点的高度为0,非空节点的高度为左右孩子高度的最大值加1。 在插入删除过程中,会出 ...
分类:
其他好文 时间:
2016-10-22 17:50:09
阅读次数:
244
判断题: 1-1 算法分析的两个主要方面是时间复杂度和空间复杂度的分析。 (2分) 1-2 将N个数据按照从小到大顺序组织存放在一个单向链表中。如果采用二分查找,那么查找的平均时间复杂度是O(logN)。 (3分) 1-3 通过对堆栈S操作:Push(S,1), Push(S,2), Pop(S), ...
分类:
其他好文 时间:
2016-10-22 12:17:07
阅读次数:
4334
写了好久,感觉插入和删除麻烦些,插入也就4种情况,但只要写两个函数,左左和右右的,左右的情况是以根节点的左子树为头进行一次右右旋转,使它变成左左的情况,再左左旋转下就下,右左的也一样; 另外就是删除,先是判断要删除的节点右儿子是否为空,是空,直接删,否则找到它最左边的儿子来替代它,然后就是高度的更新 ...
分类:
其他好文 时间:
2016-10-17 21:02:52
阅读次数:
196
定义:AVL树是每个节点左子树和右子树的高度差最大为1的二叉查找树 不平衡节点:假设在懒惰删除(删除操作时,并不删除节点,只是对节点进行特定标记)的条件下,插入操作有可能破坏AVL树的平衡特性。 如果插入节点导致平衡性被破坏,那么平衡性遭到破坏的节点只可能出现在插入节点到根节点的路径上。因为插入操作 ...
分类:
其他好文 时间:
2016-10-08 23:59:58
阅读次数:
386
不死鸟作为希腊神话中的一种怪物,拥有不断再生的能力,每当寿限将至时,它会在巢穴中自焚,并在三天后重新复活。就在近期,安天AVL移动安全团队和小米MIUI安全中心发现了病毒界的“不死鸟”,其顽固程度之深,用户很难通过常规的卸载手段清除该病毒。 这款病毒名为Fushicho,一旦运行,它首先会通过一系列 ...
分类:
移动开发 时间:
2016-09-20 13:32:14
阅读次数:
444