问答题 计算以t为根的二叉树中各结点中的最大元素的值,假设数据类型为float型。
【正确答案】算法的思路是:设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); } }
【答案解析】