
Java语言程序设计(奖励篇)——深入探讨高级数据库、Servlets及AVL树、Splay树、2-3树与B树、红黑树(中文译本,基于机器翻译)
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本书为《Java语言程序设计》的补充章节,涵盖高级数据库技术、Servlet应用及多种数据结构如AVL树、Splay树、2-3树、B树和红黑树等内容。中文版根据英文原版机译并修订而成。
第26章介绍了二叉搜索树的概念。在进行搜索、插入或删除操作时,所需时间取决于该树的高度:最坏情况下为O(n);如果是一棵完全平衡的树,则高度为log n。然而,维持一个完美的平衡状态会非常耗费资源。
因此,一种折衷的方法是保持树木大致平衡——即每个节点左右子树的高度差不超过1。AVL树是一种典型的自平衡二叉搜索树,由两位俄罗斯计算机科学家阿德尔森-维尔斯基和兰迪斯于1962年发明。
在AVL树中,任何节点的两个子树高度之差为0或1。这意味着其最大高度保持在O(log n)范围内。插入与删除元素的过程类似于常规二叉搜索树的操作;不同之处在于,在这些操作之后可能需要对树木进行重新平衡处理。
每个节点都有一个“平衡因子”,定义为其右子树的高度减去左子树的高度。如果这个数值为-1、0或+1,则称该节点是平衡的:具体来说,当值为-1时称为左重;而值为+1则被称为右重。
全部评论 (0)
还没有任何评论哟~


