社区
C++ 语言
帖子详情
二叉树的线索化是否合理?
zxcv8356631
2008-07-10 06:40:18
二叉树的线索化需要在结点里多添加2个标志指针状态的域
就算是用bool 那么一个结点也就要用2字节
线索二叉树遍历不需要栈 但是栈的最大储存量是树的深度 而储存一个指针需要4个字节
这样的话 来算算
最极端的情况 二叉树的每个结点的度都为1 有n个结点 线索化二叉树需要多发费2n个字节 使用栈需要4n个字节
但是如果是一个满二叉树 如果树的深度为k 线索化需要多发费2^k - 1个字节 使用栈则需要4k个字节
线索化二叉树还需要先对二叉树进行一次遍历
貌似很不合算啊
...全文
89
1
打赏
收藏
二叉树的线索化是否合理?
二叉树的线索化需要在结点里多添加2个标志指针状态的域 就算是用bool 那么一个结点也就要用2字节 线索二叉树遍历不需要栈 但是栈的最大储存量是树的深度 而储存一个指针需要4个字节 这样的话 来算算 最极端的情况 二叉树的每个结点的度都为1 有n个结点 线索化二叉树需要多发费2n个字节 使用栈需要4n个字节 但是如果是一个满二叉树 如果树的深度为k 线索化需要多发费2^k - 1个字节 使用栈则需要4k个字节 线索化二叉树还需要先对二叉树进行一次遍历 貌似很不合算啊
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zxcv8356631
2008-07-10
打赏
举报
回复
[Quote=引用楼主 zxcv8356631 的帖子:]
但是如果是一个满二叉树 如果树的深度为k 线索化需要多发费2^k - 1个字节 使用栈则需要4k个字节
[/Quote]
哦 不对 线索后需要多发费2(2^k - 1)个字节才对
二叉树
的前序,中序
线索化
(C语言)
一.前言 说到
二叉树
,大家想必觉得很熟悉,什么是
二叉树
? 一种由两个指针域和一个数据域构成的节点,以一种特定的顺序连接起来的存储结构。 对于
二叉树
这种存储结构来说,可以通过递归对其实现遍历,遍历的方式有四种,分别是前序遍历,中序遍历,后序遍历以及层序遍历,当我们以某种特定的顺序去遍历
二叉树
时,我们可以将遍历的结果直接输出,或者是存储在另一种数据结构中(例如:数组,栈,队列等),通过递归这种遍历的方式,一种最明显的感觉就是,仿佛一棵树以一种神奇的方式连接成了线性的结构 例如下面
二叉树
的前序遍历:ABDF
二叉树
的
线索化
表示与遍历效率提升
本文探讨了
二叉树
的
线索化
表示法,一种通过在节点中添加额外指针以代替空链接的方法。
线索化
二叉树
允许更高效的遍历,减少了内存空间的浪费,并通过实例展示了如何计算节点的前驱和后继。文章还比较了
线索化
二叉树
与传统
二叉树
在遍历时的效率,并讨论了它们在实际应用中的优势和局限。
线索化
二叉树
线索化
二叉树
:提升遍历效率,优化算法性能
线索化
二叉树
是对
二叉树
数据结构的一种重要改进,通过在空指针域存储前驱或后继节点的信息,使得遍历操作更加高效。这种方法特别适用于需要频繁遍历且对性能有较高要求的场景
中序
线索化
二叉树
及遍历(非递归)
【代码】中序
线索化
二叉树
及遍历(非递归)
C++ 语言
65,214
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章