【正确答案】算法的思路是:设max是事先设定的最大值,判断二叉树中各结点是否有比max还大的值,有则修改max使之保持最大值。注意,算法在递归语句中不是通过函数返回最大值,而是通过函数参数表返回最大值,所以max是引用型参数。
void MaxValue(BTNode *t,float &max)
{
if(t !=NULL)
{
if(t→data>max)
max=t→data;
MaxValue(t→lchiid,max);
MaxValue(t→rchiid,max);
}
}
【答案解析】