(二进制搜索树是一个二进制树,每个节点都可以有2个孩子,右边的右边比节点大,左边应小于节点。)
我有一个我想反驳的理论。它说,对于任何二进制树,如果我们采用搜索路径(称其为s)到叶节点,则s左侧的任何节点都必须小于s上的任何节点,并且右侧的任何节点都必须是比S上的任何节点都大。换句话说:左上的节点;S&LT上的节点右边的节点。是否有反示例可以反驳这一理论?
例如,如果我们有这棵树:
节点k的搜索路径将是m-> f-> h-> k
左侧的一组节点包含C,A,D,G
右侧的集合包含v,s,p,t,x,w
什么是一个很好的反面示例?
谢谢。
这并不是真正的答案,但不适合评论...
我认为您对"二进制搜索树"的定义有点缺乏 - 毕竟,这将符合您的定义:
B
C
/
A D
但是,这不是真正的二进制搜索树 - 您的定义缺乏递归关系。在二进制搜索树中,节点的左子树中的所有元素都小于节点标签,右子树中的所有元素都更大 - 不仅是直立的孩子。
也许具有更精确的定义会帮助您思考自己的"理论"。