跪求高手解答,二叉树小程序(经典题目),错在哪?

跪求高手解答,二叉树小程序(经典题目),错在哪?,第1张

算法有点小小的问题。

1,lmax和rmax对于每个结点,它的值都会不同的,不能只定义成一个。

2,root在本程序中作用不大,建议去掉。

3,lcount,rcount也应该放在递归函数中为好。

对代码调整了一些。

算法优化如下,详见注释。

#include <iostream>

using namespace std

struct tree

{

int x

tree * l

tree * r

}*T

struct tree * newnode(int data){

struct tree * NEW=new tree

NEW->x=data

NEW->l=NULL

NEW->r=NULL

return(NEW)

}

/*

static int lmax

static int rmax

static int lcount=0

static int rcount=0

struct tree * root

*/

int visible(tree * &T,int x)

{

int count =0//计数

int x1=x //临时变量:最大结点值

if(T==NULL)

return (0)//为空返回0

if(T->x >= x) //如果当前结点比以前路径最大数还大。

{

count =1//则当前结点计数为1

x1 =x //同时记录下最大的结点值。

}

count += visible(T->l,x1)//递归调左子树,同时把当前路径中的最大值传入给左子树

count += visible(T->r,x1)//递归调右子树,同时把当前路径中的最大值传入给右子树

return count//返回

}

void main(){

T=newnode(1)

T->l=newnode(2)

T->r=newnode(3)

//root=T

cout<<visible(T,T->x)<<endl

}

河南象鼎信息科技有限公司是一家APP小程序定制开发公司,主要在河南、郑州、洛阳、安阳、新乡、焦作、濮阳、许昌、漯河、商丘等地区提供APP定制开发、APP定制、手机app制作、小程序开发、安卓APP开发、APP软件开发、APP设计、手机APP定制开发、APP软件设计、原生开发等服务。

APP定制开发优点:

1.它可以访问手机的所有功能(例如GPS,照相机等),并且可以实现完整的功能;

2,运行速度快,高性能,出色的用户体验;

3,支持大量图形和动画,无延迟,响应速度快;

浙里种树

微信种树小程序是衢州市林业局会同浙江省林业局在“碳达峰、碳中和”背景下首创开发的林业碳汇个人碳普惠场景应用微信小程序

小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/10985359.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-12
下一篇2023-05-12

发表评论

登录后才能评论

评论列表(0条)

    保存