在二进制搜索树中InOrder后继
-
29-09-2020 - |
题
这是我必须解决的问题:
给出了二进制搜索树中的节点,找到节点 具有比给定的最小键 节点..
经常给出的算法是这个:
bst_successor(x)
{
if(x == NULL)
return NULL;
if(x.right != NULL)
return abr_min(x.right)
y = x.p;
while(y != NULL && x = y.right)
{
x = y;
y = y.p;
}
return y;
}
.
现在,我想知道这是否可以是另一个解决方案:
bst_successor(x)
{
if(x == NULL)
return NULL;
if(x.right != NULL)
return abr_min(x.right)
y = x.p;
while(y != NULL && y.key < x.key)
{
y = y.p;
}
return y;
}
. 不隶属于 cs.stackexchange