问题 问答题

试编写算法求键值为k结点在给定的二叉排序树中所在的层数。

答案

参考答案:

算法描述如下:

int level_count(BinTree bst, KeyType k)

//求键值为k结点在给定的二叉排序树中所在

//的层数

{

int lev=0;

BSTNode*p=bst;

while(p!=NULL)

{

lev++;

if(p->data==k) return lev; //返回结果

if(p->data<k);

p=p->rchild;//向右走

else

p=P->lchild; //向左走

}

return 0; //没有对应结点

}

单项选择题
判断题