社区
C++ 语言
帖子详情
请教:如何查找完全二叉树最后一层的最右边的结点
hertz2007
2007-01-01 11:48:00
如题。
基于数组的完全二叉树容易实现,只需返回最后一项。
但是基于指针的完全二叉树怎么实现呢?
...全文
510
10
打赏
收藏
请教:如何查找完全二叉树最后一层的最右边的结点
如题。 基于数组的完全二叉树容易实现,只需返回最后一项。 但是基于指针的完全二叉树怎么实现呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Jim_King_2000
2007-01-03
打赏
举报
回复
先根或者中跟遍历也是可以的啦。
jaskist
2007-01-02
打赏
举报
回复
右子树的右子树的右子树
直到最后一层
这样不是行了吗??
hertz2007
2007-01-02
打赏
举报
回复
哦,我明白了。
就是说采用基于队列的广度优先遍历,每次从队列弹出已访问的结点入栈,遍历结束后在栈顶的数据项即为所求。
这种算法的复杂度的确比基于数组的复杂度大的多啊。
突击召唤师
2007-01-02
打赏
举报
回复
:) 用一个链表,做按层的搜索。
第一层,把根扔进链表。
第二层,找到根的L、R子节点,替换链表中的根。
第三层,找到根的L、R子节点的子节点,替换到链表中。
如此递归,如果某个节点没有子节点,就删掉了,否则就被自己的子节点替换。保持子节点从左到右的顺序。
这样到最后一层,最后一个子节点就是你要找的了。
当然实现的时候要把一层遍历完,才能删除上一层的。 :)
Jim_King_2000
2007-01-02
打赏
举报
回复
广度优先搜索。
ryfdizuo
2007-01-02
打赏
举报
回复
确实,用GoFastRight();函数寻找有点麻烦!
d_bc
2007-01-02
打赏
举报
回复
层次遍历和广度优先的方法是一样的。
胖奶糖
2007-01-02
打赏
举报
回复
按层向下可不可以?
hziee_
2007-01-02
打赏
举报
回复
对,广度遍历
hertz2007
2007-01-02
打赏
举报
回复
不对啊,完全二叉树不一定是满二叉树啊。
在最后一层,所有结点从左至右依次无缝排列。
数据结构基础系列(6):树和二叉树
数据结构课程是计算机类专业的专业基础课程,在IT人才培养中,起着重要的作用。课程按照大学计算机类专业课程大纲的要求,安排教学内容,满足需要系统学习数据结构的人。系列课程包含11个部分,本课为第6部分“树和二叉树”,介绍树的相关概念和表示方法,重点是二叉事的性质、存储结构、遍历等基本操作的实现,以及应用基本操作解决问题的方法。
2021-01-29学习总结
2021-01-29学习总结 上午8:00学习打卡 上午9:00 – 11:00(2h) 刷vj上的题,vj达标,先转战二叉树,二叉树还是只搞定一题。 下午13:00 – 18:00(5h) 问题 C: 二叉树的输入 描述 用二叉树的带虚
结点
表示的前序遍历序可以唯一的确定一棵二叉树。 格式 输入格式 输入包含多组数据。 每行是一棵二叉树的带虚
结点
(#)表示的前序遍历序串,长度不超过2000。每个
结点
为一个字符。 输出格式 对每行输入,输出对应二叉树的中序遍历序(不含虚
结点
)、后序遍历序(不含虚
结点
)和层次
数据结构——二叉树BinaryTree基本功能大全及代码实现(递归、非递归遍历、深度、
结点
数)
一、需求分析与功能描述 现代社会生活中,计算机扮演着重要角色,而随着计算机运行速度的不断加快,对数据的处理能力也日益增强,因此,程序所涉及的数据很多,如何科学有效的对数据进行操作,使得计算机的时间和空间利用率最高是一个问题。针对这样的问题,我选择了二叉树对数据的各种操作作为我的课程设计主题,希望通过二叉树来提高对数据的处理能力,促进对数据结构课程的理解。 在二叉树的应用中,常常要求在树中
查找
...
二叉树的遍历设计
题目:二叉树的遍历设计 一、需求分析与功能描述 现代社会生活中,计算机扮演着重要角色,而随着计算机运行速度的不断加快,对数据的处理能力也日益增强,因此,程序所涉及的数据很多,如何科学有效的对数据进行操作,使得计算机的时间和空间利用率最高是一个问题。针对这样的问题,我选择了二叉树对数据的各种操作作为我的课程设计主题,希望通过二叉树来提高对数据的处理能力,促进对数据结构课程的理解。我的这个课...
二叉树的镜像(剑指Offer_编程题)
题目描述: 操作给定的二叉树,将其变换为源二叉树的镜像。 /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ 输入描述: ...
C++ 语言
64,282
社区成员
250,470
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章