社区
数据结构与算法
帖子详情
欢迎大家来讨论,关于树的问题
Aktankll
2002-05-25 05:55:55
能否在一棵中序全线索二叉树上查找给定结点*p在后序序列中的后继?
知我者谓我心忧;
不知我者谓我何愁。
...全文
57
7
打赏
收藏
欢迎大家来讨论,关于树的问题
能否在一棵中序全线索二叉树上查找给定结点*p在后序序列中的后继? 知我者谓我心忧; 不知我者谓我何愁。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
starfish
2002-05-26
打赏
举报
回复
很简单呀,关键就在于区分节点p是其父节点的左儿子还是右儿子这两种情况。
既然是中序线索二叉树,那么可以从节点p找到他的中序后继q。有两种情况:
1。如果q为空,则说明p是中序遍历中最后一个节点,也就是二叉树的最右下边的节点,因此我们只需要在二叉树中找到p的父节点r(从根节点开始递归地找),r就是p在后序序列中的后继。这种情况下无法利用到线索二叉树的优越性,算法复杂度和后序遍历的复杂度一样。
2。如果p的中序后继q不为空,则q一定有左儿子。这时又有两种情况:
(a) q的左儿子就是p,那么q的右儿子就是p在后序遍历中的后继;
(b) q的左儿子不是p,那么p一定在q的左儿子的最右下方。换句话说,我们只要从q的左儿子出发,一直沿着二叉树的右分支走,如果遇到某个节点r的右儿子是p,则该节点r就是p在后序遍历中的后继。
算法的伪代码如下:
1. q ← p的中序序列后继;
2. if q = NIL
3. then 从二叉树根节点出发,递归地找到p的父节点r;
4. return r;
5. else if q.left = p
6. then return q.right;
7. else r ← q.left;
8. while r.right <> p
9. do r ← r.right;
10. return r;
上述伪代码中用缩进表示代码的嵌套层次。
Aktankll
2002-05-26
打赏
举报
回复
问题的关键是如何在中序线索二叉树中找到结点*p的最近祖先。在右子树上怎么判断找到的祖先是最近的?
知我者谓我心忧;
不知我者谓我何愁。
Aktankll
2002-05-26
打赏
举报
回复
谢谢海星大哥以前对我的无私帮助,并在一次感谢海星对我的指点。你的回复我认真看过啦。很有感触,我就想问,为什么我自己在想这题的时候
真是一锅粥,没有一点头绪。请你给我介绍一下你是怎样找到处理问题的
突破口的。万分感谢!
opengl3d
2002-05-26
打赏
举报
回复
可以地呀
yuyuyu_2001
2002-05-25
打赏
举报
回复
我想可以;在一棵中序全线索二叉树上给定结点*p,由中序序列求得*p
最近祖先(若p在左子树,找到父节点;在右子树,找到其祖先)
再由祖先出发,递归搜索
liuweiwei1
2002-05-25
打赏
举报
回复
当然可以
事在人为吗
one_add_one
2002-05-25
打赏
举报
回复
看不懂:(
决策
树
(分类
树
、回归
树
)
决策
树
前言:第一篇博客,最近看完决策
树
,想着归纳一下,也方便自己以后回顾。写的会比较全面一些,可能会有很多不太正确的地方,
欢迎
大家交流指正 : ) 决策
树
模型: 决策
树
模型是运用于分类以及回归的一种
树
结构。决策
树
由节点和有向边组成,一般一棵决策
树
包含一个根节点、若干内部节点和若干叶节点。决策
树
的决策过程需要从决策
树
的根节点开始,待测数据与决策
树
中的特征节点进行比较,并按照比较结果选...
关于剑指Offer
树
的子结构的
讨论
第二次看到这个题还是不会....参考了这道题牛客网排名第一的答案,在理解的过程中,我认为这个答案有
问题
,如果是我理解错了,
欢迎
讨论
指正。 关于
树
的子结构的定义,网上也没有很明确的说法,个人理解就是,只要小
树
是大
树
结构中的一部分就行。(子结构与子
树
一定要区分开来,最后会介绍两者区别。) 首先,根据剑指offer书上的测试用例,测试了牛客排名第一的答案左边为大
树
,右边为小
树
,显然结果是true。 ...
一文彻底搞懂MySQL基础:B
树
和B+
树
的区别
写在前面 大家在面试的时候,肯定都会被问到MySql的知识,以下是面试场景: 面试官:对于MySQL,你对他索引原理了解吗? 我:了解 面试官:MySQL的索引是用什么数据机构的? 我:B+
树
面试官:为什么要用B+
树
,而不是B
树
? 我:… 面试官:用B+
树
作为MySql的索引结构,用什么好处? 我:… B
树
和B+
树
是MySQL索引使用的数据结构,对于索引优化和原理理解都非常重要,下面我的写文章就是要把B
树
,B+
树
的神秘面纱揭开,让大家在面试的时候碰到这个知识点一往无前,不再成为你的知识盲点!
欢迎
关注公
从Trie
树
(字典
树
)谈到后缀
树
(10.28修订)
从Trie
树
(字典
树
)谈到后缀
树
作者:July、yansha。出处:http://blog.csdn.net/v_JULY_v 。 引言 常关注本blog的读者朋友想必看过此篇文章:从B
树
、B+
树
、B*
树
谈到R
树
,这次,咱们来讲另外两种
树
:Tire
树
与后缀
树
。不过,在此之前,先来看两个
问题
。 第一个
问题
: 一个文本文件,大约有一万行,每行一个词,要求统计出其中最频繁出现的前10个词,
在数据库中储存
树
形结构
树
是表示层次结构的方法之一,因此可用于许多
问题
域。本文通过一个简单
问题
域中的示例,
讨论
了在RDBMS中表示
树
的四种最受
欢迎
的方法。 以
树
状结构表示和存储数据是软件开发中的常见
问题
: XML / Markup语法解析器(例如Apache Xerces和Xalan XSLt)使用
树
; PDF使用以下
树
结构:根节点->目录节点->页面节点->子页面节点。通常,PDF文件在内存中表示为平衡
树
。 多种科学和游戏应用程序使用决策
树
,概率
树
,行为
树
;Flare可视化库(http://flare.pre
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章