目录
二叉搜索树:从入门到实战
1. 什么是二叉搜索树?
想象一下你去图书馆找书,如果书都是乱放的,你得一本本翻找;但如果书是按编号排好的,你就能快速定位。二叉搜索树(BST)就是计算机世界里的这种"有序书架"。
二叉搜索树是一种特殊的"家谱树"结构,每个"家长"最多有两个"孩子"(左孩子和右孩子),而且遵循以下家规:
-
左孩子家的所有成员都比家长小(或等于)
-
右孩子家的所有成员都比家长大(或等于)
-
每个孩子家也都遵守同样的规矩

这种结构让查找变得高效,就像查字典时不用从第一页开始翻一样。
2. 二叉搜索树能有多快?
二叉搜索树的效率取决于它的"身材":
-
好身材(完全平衡时):像匀称的运动员,查找时间只要O(logN)
-
坏身材(退化成直线时):像竹竿一样瘦高,查找时间会变成O(N)
这就像找教室:
-
平衡时:每层楼有几个教室,很快能找到
-
不平衡时:所有教室排成一列,得一个个敲门问
3. 二叉搜索树的基本操作
3.1 插入新成员
添加新成员的规矩很简单:
-
从家长开始比较
-
比家长小就往左走,比家长大就往右走
-
找到空位就安家
// 就像安排新生入学
if (树是空的) {
直接当校长;
} else {
从校长开始比较;
小的去左边,大的去右边;
找到空座位就坐下;
}
3.2 查找成员
查找就像玩" hotter or colder"游戏:
-
从根节点开始

最低0.47元/天 解锁文章
938

被折叠的 条评论
为什么被折叠?



