求二叉树的中最大值算法

yujun366 2004-06-17 11:37:09
同上,最好是递归的,小弟写了一下午,没完成,请教各位,谢谢
...全文
1195 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
月吻长河 2004-06-19
  • 打赏
  • 举报
回复
先、中、后、层次
遍历
bxts 2004-06-19
  • 打赏
  • 举报
回复
static int max=0;
定义的是静态的变量,只初始化一次拉
yujun366 2004-06-19
  • 打赏
  • 举报
回复
我的意思是一般的二叉树,谢谢
qingyuan18 2004-06-18
  • 打赏
  • 举报
回复
用的先根遍历:

int get_max(btree *mytree)
{
static int max=0;
if(mytree!=NULL)
{
if(max<mytree->value) max=mytree->value;
get_max(mytree->lchild);
get_max(mytree->rchild);
}
return max;
}
2108011027 2004-06-18
  • 打赏
  • 举报
回复
<valueType> traverse(Node *pNode)
{
static <valueType> result=0;
result=max(result,pNode->data);
if(pNode->leftChild)
traverse(pNode->leftChild);
if(pNode->rightChild)
traverse(pNode->rightChild);
return result;
}
中序遍历,在main里边调用traverse((Node*)root)
junnyfeng 2004-06-18
  • 打赏
  • 举报
回复
设一个变量作为存储最大值的就可以了
历遍的时候逐个与它比较,把大的赋给它
turnmissile 2004-06-18
  • 打赏
  • 举报
回复
二叉树的遍历都是递归的,问题是一般二叉树都是排序的,那样就不需要再找最大值
只要找最右子节点就可以了
yujun366 2004-06-18
  • 打赏
  • 举报
回复
up
yujun366 2004-06-18
  • 打赏
  • 举报
回复
上面的算法每次都置max为0,会不会每次都和0比呢?
sth4nth 2004-06-17
  • 打赏
  • 举报
回复
二叉树遍历还不会吗,随便找本书就有

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧