二叉排序树的类型定义如下: typedef struet BSTNode{//二叉排序树的结点结构 int data; //数据域 struct BSTNode*lchild,*rchild;//左、右孩子指针

admin2009-05-09  35

问题 二叉排序树的类型定义如下:
   typedef struet BSTNode{//二叉排序树的结点结构
       int data; //数据域
       struct BSTNode*lchild,*rchild;//左、右孩子指针
   }BSTNode,*BSTree;
   设计递归算法,统计一棵二叉排序树T中值小于a的结点个数。

选项

答案(P71)参考答案之一: void count(BSTree T,int a,int*sum){ //以sum所指单元统计二叉排序树中元素值小于a的结点个数,其初值为0 if(T){ count(T—>lchild,a,sum); if(T—>data (*sum)++; count(T—>rchild,a,sum); } } } 参考答案之二: int count(BSTree T,int a){ //统计二又排序树中元素值小于a的结点个数 int sum; if(!T)return 0; else{ sum=count(T—>lchild,a); if(T—>data<a) return sum+1+count(T—>rchild,a); else return sum; } }

解析
转载请注明原文地址:https://kaotiyun.com/show/r5Ax777K
本试题收录于: 数据结构题库理工类分类
0

最新回复(0)