2019年4月22日

对象的软引用、弱引用和虚引用

摘要: 对大部分对象而言,程序里会有一个引用变量引用该对象,这是最常见的引用方式。 除此之外,java.lang.ref包下提供了3个类:SoftReference、WeakReference和PhantomReference,它们分别代表了系统对对象的3种引用方式:软引用、弱引用和虚引用。 因此Java语 阅读全文

posted @ 2019-04-22 22:57 shammgod_code 阅读(151) 评论(0) 推荐(0) 编辑

B树

摘要: B树是为磁盘或其他直接存储的辅存设备而设计的一种平衡搜索树。 B树类似于红黑树,但在降低磁盘I/O操作数方面要更好一些。许多数据库系统使用B树或者B树的变种来存储信息。 B树与红黑树的不同之处在于B树的结点可以有很多孩子,从数个到数千个。也就是说,一个B树的“分支因子”可以相当大,尽管它通常依赖于所 阅读全文

posted @ 2019-04-22 17:02 shammgod_code 阅读(123) 评论(0) 推荐(0) 编辑

23查找树和红黑树

摘要: 2-3查找树 为了保证查找树的平衡性,我们需要一些灵活性,因此在这里我们允许树中的一个结点保存多个键。 确切地说,我们将一棵标准的二叉查找树中的结点称为2-结点(含有一个键和两条链接)。现在我们引入3-结点,它含有两个键和三条链接。 2-结点和3-结点中的每条链接都对应着其中保存的键所分隔产生的一个 阅读全文

posted @ 2019-04-22 16:59 shammgod_code 阅读(1228) 评论(0) 推荐(0) 编辑

红黑树---满足红黑性质的二叉查找树

摘要: 红黑树是一棵二叉查找树,它在每个结点上增加了一个存储位来表示结点的颜色,可以是red或black。 通过对任何一条从根到叶子的简单路径上各个结点的颜色进行约束,红黑树确保没有一条路径会比其他路径长出2倍,因而是近似于平衡的。 树中每个结点包含5个属性:color、key、left、right和p。如 阅读全文

posted @ 2019-04-22 15:10 shammgod_code 阅读(189) 评论(0) 推荐(0) 编辑

AVL树---平衡的二叉查找树

摘要: AVL树是每个结点的左子树和右子树的高度最多差1的二叉查找树(空树的高度定义为-1)。 它能保持二叉树的高度平衡,尽量降低二叉树的高度,减少树的平均搜索长度。 AVL树的性质: 左子树和右子树的高度差不超过1 每个结点的左子树和右子树都是AVL树 每个结点都有一个平衡因子,任一结点的平衡因子是-1, 阅读全文

posted @ 2019-04-22 14:40 shammgod_code 阅读(164) 评论(0) 推荐(0) 编辑

二叉查找树

摘要: 二叉树的每个节点最多有2个儿子。二叉树节点的代码实现: 二叉查找树:对于树中的每个节点X,它的左子树中所有项的值小于X中的项,而它的右子树中所有项的值大于X中的项。其深度的平均值是O(logN)。 阅读全文

posted @ 2019-04-22 00:50 shammgod_code 阅读(104) 评论(0) 推荐(0) 编辑

导航