王老师:19139051760(微信同号) 13333709510
找答案
注册
登录
名词解释
所有科目
成人高考
成考院校
联大
青书学堂
文才
和学
现代兴业
安徽教育在线
超星
弘成
广东开放大学
国家开放大学
上海开放大学
含弘慕课
教育服务
成人高校
成考录取分数线
我要提升学历
提升学历的理由:
升职加薪、积分落户、考研、公务员考试、子女入学、出国留学
成人高考报名入口
当前位置:
首页
>
联大系统
>
太原理工大学
>
河南理工大学数据结构
输入试题:
本题添加时间:2023/4/3 12:59:00
圆梦客服:王老师 19139051760(微信同号) 19139051760(微信同号)
求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值。
答案是:void LongestPath(BiTree bt)//求二叉树中的第一条最长路径长度 {BiTree p=bt,l[],s[]; //l, s是栈,元素是二叉树结点指针,l中保留当前最长路径中的结点 int i,top=0,tag[],longest=0; while(p || top>0) {while(p) {s[++top]=p;tag[top]=0; p=p->Lc;} //沿左分枝向下 if(tag[top]==1) //当前结点的右分枝已遍历 {if(!s[top]->Lc && !s[top]->Rc) //只有到叶子结点时,才查看路径长度 if(top>longest) {for(i=1;i<=top;i++) l[i]=s[i]; longest=top; top--;} //保留当前最长路径到l栈,记住最高栈顶指针,退栈 } else if(top>0) {tag[top]=1; p=s[top].Rc;} //沿右子分枝向下 }//while(p!=null||top>0) }//结束LongestPath
出自
河南理工大学数据结构
联大系统
太原理工大学
更多试题>>>>
1、
用按层次顺序遍历二叉树的方法,统计树中具有度为1的结点数目。
2、
计算二叉树最大的宽度(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)。
3、
设计二叉树的双序遍历算法(双序遍历是指对于二叉树的每一个结点来说,先访问这个结点,再按双序遍历它的左子树,然后再一次访问这个结点,接下来按双序遍历它的右子树)。
4、
交换二叉树每个结点的左孩子和右孩子。
5、
判别两棵树是否相等。
提升学历-成人高考报名入口
提升学历-成人高考院校名单