优雅蜻蜓

文章
8
资源
0
加入时间
2年10月21天

在平衡二叉树中的每个结点中增设一个域lsize,存储以该结点为根的左子树中的结点个数加1.确定树中第k(k>=1)个结点的位置

二叉排序树中第k个结点,即为二叉排序树中序序列中顺序号为k的结点,根结点的Lsize域中存放的是根结点的顺序号。要确定二叉排序树中第k个结点,先需将k与根结点的顺序号进行比较,若相等,则找到;若k小于根结点的顺序号,k继续与根的左孩子结点的顺序号比较,依次类推。(注意,右孩子结点的顺序号等于根结点的顺序号与右孩子结点的Lsize域值之和。)下面给出一幅图加以理解:算法代码如下:结构体定义:typedef struct BTNode{ int data; int lsize; struc.