社区
C语言
帖子详情
求二叉树的中最大值算法
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
打赏
举报
回复
二叉树遍历还不会吗,随便找本书就有
寻找
二叉树
的
最大值
思路: (1)将
二叉树
分为如下几种: 1.仅有根结点; 2.有根结点,有左孩子,无右孩子; 3.有根结点,有右孩子,无左孩子; 4.有根结点,有左孩子、右孩子; (2)根据不同种类的
二叉树
比较结点所指向的值的大小: 1.不用比较,返回根结点指向的值; 2.根节点与左孩子进行比较; 3.根节点与右孩子进行比较; 4.根节点与左、右孩子进行比较; (3)比较的同时,递归其左,右孩子,返回左子树,右子树
中
较大的值
算法
: template <class T> int max
数据结构--
求
二叉树
节点
最大值
public int maxTreeNode(TreeNode root) { if(root.left == null && root.right == null) return root.val; else if(root.left != null && root.right == null) return root.val > maxTree...
二叉树
查找最大元素
算法
/** * 递归实现:查找
二叉树
节点
中
的
最大值
* 找出根节点,左子树,右子树节点的
最大值
,分别比较 * @param root */ public int FindMax(TreeNode root) { int maxNumber=Integer.MIN_VALUE; int root_val,left_val,right_val; //根节点,左子树,右子树节点的
最大值
if (root != nul
求
二叉树
中
最大和的路径
假设
二叉树
中
所有节点的值为int类型,采用二叉链存储。设计递归
算法
求
二叉树
中
从根节点到叶子节点路径和最大的一条路径。 #include<iostream> using namespace std; typedef struct BiTree { int data; struct BiTree *left,*right; }BiTree; void CreatBiTree...
【数据结构】
求
二叉树
深度的
算法
要
求
二叉树
的深度,方法是先
求
出左子树的深度,再
求
出右子树的深度,
二叉树
的深度就是左子树的深度和右子树的深度
中
的
最大值
加1. 自然而然想到用后根遍历的思想实现 主要步骤如下: 若
二叉树
为空,则返回0值,否则
求
左子树的深度;
求
右子树的深度; 将左子树、右子树深度的
最大值
加1并返回其值。 //
求
二叉树
深度的
算法
public int getDepth(BiTreeNode T) { if...
C语言
69,368
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章