zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C语言:求出指定节点在给定二叉排序树中的层次算法

C语言节点算法排序 指定 二叉 层次 给定
2023-09-27 14:22:46 时间

题目
设计一个算法,求出指定节点在给定二叉排序树中的层次。

思路解析
采用循环语句边查找边累计层次 n(初始时 bt 指向根节点,n=1)。当找到关键字
为 k 的节点时返回 n;否则返回 0,算法如下。

代码

int Level(BSTNode *bt, KeyType k)
{
	int n = 1;
	BSTNode *p = bt;
	while(p!= NULL && p->key!=k)
	{
		if(k<p->key)
			p = p->lchild; //往左子树中查找
		else
			p = p->rchild; //往右子树中查找
		n++; //层数加 1
	}
if(p!= NULL)
	return n; //未找到
else
	return 0;
}