目录
一、预备知识
二、二叉树
三、查找树ADT-----二叉查找树
四、AVL树
五、伸展树
六、树的遍历
七、B树
八、标准库中的集合与映射
五、伸展树
六、树的遍历
中序遍历:二叉查找树可以很方便的按顺序输出项。这种用于树的时候是中序遍历。
后序遍历:有时我们要先处理两个叶子节点再处理当前节点。如为了计算一个节点的高度,我们要先知道两个儿子的高度。
先序遍历:当前节点在儿子处理前处理。如想标记每一个节点的深度。
所有的有一个共同点:先处理null情况 ,再处理其它的。
七、B树
基于这样的现实:对磁盘的访问开销很大。所以要尽可能减少磁盘的访问。
由于典型的AVL树接近最优的高度,所以应该清楚,二叉树是不能使访问次数少于logN的。我们考虑M叉树。
原则上B树保证只有少数的磁盘访问。阶为M的B树有下面的性质:
1.数据项存储在树叶上。
2.非叶子节点 存储直到M-1个关键字以指示搜索方向。
3.树的根或者是一个树叶,或者其儿子数在2 - M之前 。
4.除根外,所有 非树叶节点 数在M/2 - M之前 。
5.所有的树叶都在相同 的深度并有L/2 - L之间个数据项.
八、标准库中的集合与映射
第三章节中的List容器,如ArrayList/ LinkedList用于查找时的效率很低,因此Collection API提供了两个附加的容器 Set /Map ,它们对插入,
删除,查找等基本操作效率比较高。
关于Set接口
关于Map接口
时间: 2024-10-13 02:32:22