永发信息网

编写c++算法求任意二叉树中一条最长的路径,并输出此路径上各结点的值

答案:1  悬赏:60  手机版
解决时间 2021-04-26 03:03
编写c++算法求任意二叉树中一条最长的路径,并输出此路径上各结点的值
最佳答案
#include
#define MaxSize 1000
typedef struct BiTNode {
int data;
struct BiTNode *lchild, *rchild;
}BiTNode,*BiTree;
void LongestPath(BiTree bt)//求二叉树中的第一条最长路径长度,并输出最长路径上的节点
{
BiTree p = bt, l[MaxSize], s[MaxSize]; //l, s是栈,元素是二叉树结点指针,l中保留当前最长路径中的结点
int i,top = 0, tag[MaxSize], longest = 0;
while (p || top >0)
{
while (p)
{
s[++top] = p;
tag[top] = 0;
p = p->lchild;
} //沿左分枝向下
if (tag[top] == 1) //当前结点的右分枝已遍历
{
if (!s[top]->lchild && !s[top]->rchild) //只有到叶子结点时,才查看路径长度
if (top>longest)
{
for (i = 1; i 0)
{
tag[top] = 1;
p = s[top]->rchild;
} //沿右子分枝向下
}//while(p!=null||top>0)
int k = 0;
for (k = 0; k data);
}
}//结束LongestPath
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
人生在鬼节那天有什么说法吗
我买了一部碟片,我想把它复制到照相机上,怎
青果亲橙(前进街燕马社区卫生服务站西北)我想
话不投机半句多是什么意思?
解释千字文语句,千字文,第一句究竟是天地玄
如何破解网吧计费系统?不用软件破解有没有办
大话上、老区里面。一只冰块只缺六点敏,能买
同义句转换有谁知道
怎么才能取得西安户口?
炫舞什么时候出宠物有带图的么
求 如何重装系统
谁邀请我开通QQ牧场,3个号
悦跑圈怎么看运动轨迹,太阳运动轨迹及地理坐
孤立过后的人生历程能否在次予以重生...?
鹤乡缘酒店在哪里啊,我有事要去这个地方
推荐资讯
信息化推进处地址在哪,我要去那里办事
我的世界目录怎么打开,我的世界这个版面怎么
这个世界上有不老证嘛.?
k8台球城地址在什么地方,想过去办事
fifaol2远射妖人和中场妖人
oppoA90售价是多少
到今天为止,战地之王到底有没有正式发布了啊
我的发财树有三根,其中一根死了,怎么处理?
陕西省汉中市勉县的汽车保有量
warm water怎么读
南非coega-ngqura是什么港口?
手机上网读图出问题!!!!!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?