1.折半查找的递归算法
void Insert(int a[],int low,int high)
{
if(low>high) return 0;
if(low<=high)
{
mid=(low+high)/2;
if(ST.R[mid]==key)
{
return mid;
}
else if(key<ST.R[mid])
return BinSearch_Cur(ST,key,low,mid-1);
else
return Binsearch_Cur(ST,key,mid+1,high)
}
}
2.试写一个算法判别给定二叉树是否为二叉排序树的算法
//算法思想,中序排序放入数组 判读数组是否从小到大
4.假设一颗平衡二叉树的每个结点都表明了平衡因子b,试设计一个算法,求平衡二叉树的高度。
int Height(BSTree T)
{
level=0;
p=T;
while§
{
level++;
if(p->b<0)p=p->rchild;
else p=p->lchild;
}
return level;
}