【发布时间】:2016-12-05 21:06:19
【问题描述】:
(二叉搜索树是一棵二叉树,每个节点最多可以有2个孩子,右边比节点大,左边比节点小。)
我有一个想反驳的理论。它说对于任何二叉树,如果我们采用搜索路径(称为 S)到叶节点,那么 S 的 LEFT 上的任何节点都必须小于 S 上的任何节点,并且 RIGHT 的任何节点都必须是比 S 上的任何节点都大。换句话说:左边的节点
For example if we have this tree:
节点 K 的搜索路径是 M->F->H->K
左边的节点集包含C、A、D、G
右边的集合包含V,S,P,T,X,W
什么是好的反例?
谢谢。
【问题讨论】:
-
你对“右”和“左”有一个奇怪的定义。
C, A, D, G肯定在M->F-H->K的左边? -
M->F-H->K(搜索路径)左侧的任何节点都属于“左”集。右边的任何东西都属于“正确”的集合。
-
所以“右边的节点集包含C、A、D、G”是不正确的,是吗?
-
是的。我很抱歉。我的意思是“左”。
-
无论如何,反例:
M->F->C->A。D节点位于行的右侧,但不大于M或F。
标签: binary-tree binary-search-tree