17 二叉搜索树陷阱(第3/3页)

要高效地在二叉搜索树中查找一个值,可以从最上面的节点(根节点)开始往下查找,每查找一步就比较要找的值和当前节点的值的大小,以决定是该向左查找还是向右查找。如果要找的值比当前值小,我们就向左查找:

而如果要找的值比当前值大,我们就向右查找:

当我们找到要找的值,或者遇到一条死路的时候,搜索就结束了。如果我们遇到了一条死路,就可以确定我们要找的值在树中并不存在。

如果对于每个节点,其左子树中的节点数量都和其右子树中的节点数量一致,我们就可以说这个二叉搜索树是完全平衡的。在这种情况下,如果我们将树中的节点数量翻倍,整棵树的高度只会增加1。

这种搜索的计算量与目标值在树中的深度是成正比的。位置越深,我们需要进行比较的次数就越多。