找出二叉搜尋樹的最大節點和最小節點
阿新 • • 發佈:2018-11-14
problem:Write recursive versions of TREE-MINIMUM and TREE-MAXIMUM.
typedef struct BiTNode
{
int data;
struct BiTNode *lchild, *rchild; //左右孩子
}BiTNode,*BiTree;
int findmin(BiTree root){ //找出樹中最小的節點並返回節點的值
BiTree ptr = root->lchild;
int min = 0;
if(ptr->lchild == null){
return ptr->data;
}
else{
min = findmin(ptr->lchild);
return min;
}
}
int findmax(BiTree root){ //找出樹中最大的值並返回其節點的值
BiTree ptr = root->rchild;
int max = 0;
if(ptr->rchild == null){
return ptr->data;
}
else{
max = findmin(ptr->rchild);
return max;
}