15、平衡二叉树(AVL):平衡如此重要,怎么做到的你好,我是王健伟。 上节课我们讨论了“二叉查找树”这个话题,最后提到,为了提高查找效率,应该尽可能地让二叉查找树的高度变得最小。也就是说,在创建二叉查找树的时候,要尽可能让二叉查找树保持左右节点的平衡。这就是“平衡二叉树”的由来。 平衡二叉树作为后续...2025-12-14
14、二叉查找树(BST):查找速度你最行你好,我是王健伟。 今天我要和你分享的主题是“二叉查找树”。 我们知道,二叉树是用来保存数据的。那么在需要的时候,这些保存在二叉树中的数据,要怎么才能被快速地找到和取出呢?这就需要在保存数据的时候遵循一定的规律。 遵循这种保存数据的规律所构成的二叉树...2025-12-14
13、线索二叉树:如何线索化二叉树以提升访问速度你好,我是王健伟。 今天我要和你分享的主题是“线索二叉树”。 和传统二叉树相比,线索二叉树可以进一步提高访问二叉树节点的速度,从而提高访问二叉树的效率,当然,“线索”这个概念的引入也意味着要对原来的二叉树实现代码做出相应的修改。 那么,什么是线索?要...2025-12-14
12、二叉树:如何存储二叉树你好,我是王健伟。 聊过了二叉树的遍历问题,终于要开始写程序了,所以今天就来聊聊存储二叉树的几种方法。 二叉树的存储一般有两种方式,一种是基于数组的顺序存储方式,一种是链式存储方式。它们有什么不同呢? 顺序存储方式顺序存储方式是用一段连续的内存单元(...2025-12-14
11、二叉树:深度优先和广度优先遍历是什么你好,我是王健伟。 今天我们来聊一个非常重要的二叉树遍历问题。 二叉树的遍历,就是指从根节点出发,按照某种次序(某条搜索路径)依次访问二叉树中的所有节点,使每个节点都被访问且只被访问一次。“访问”的含义比较广泛,比如对节点做各种处理,显示节点所保存的...2025-12-14