社区
C++ 语言
帖子详情
二叉树的线索化是否合理?
zxcv8356631
2008-07-10 06:40:18
二叉树的线索化需要在结点里多添加2个标志指针状态的域
就算是用bool 那么一个结点也就要用2字节
线索二叉树遍历不需要栈 但是栈的最大储存量是树的深度 而储存一个指针需要4个字节
这样的话 来算算
最极端的情况 二叉树的每个结点的度都为1 有n个结点 线索化二叉树需要多发费2n个字节 使用栈需要4n个字节
但是如果是一个满二叉树 如果树的深度为k 线索化需要多发费2^k - 1个字节 使用栈则需要4k个字节
线索化二叉树还需要先对二叉树进行一次遍历
貌似很不合算啊
...全文
81
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语言)
本文介绍了如何通过
线索化
技术,将
二叉树
的前序和中序遍历转换为线性结构,包括
线索化
概念、关键思路和代码实现,适用于优化数据结构和提高遍历效率。
二叉树
的
线索化
表示与遍历效率提升
本文介绍
二叉树
线索化
方法以提升遍历效率。传统
二叉树
内存使用有浪费、遍历复杂,
线索化
二叉树
用空指针存前驱或后继指针,减少内存浪费,使遍历算法更简单高效,无需额外栈或队列。不过,插入和删除节点时需重新设置线索,会增加操作复杂度。
线索化
二叉树
本文介绍了一种不含头结点的
二叉树
及含头结点的
二叉树
进行中序
线索化
的方法,并提供了相应的C++实现代码。通过
合理
利用
二叉树
节点的左右孩子指针,实现了无需额外空间即可进行中序遍历。
线索化
二叉树
:提升遍历效率,优化算法性能
线索化
二叉树
通过利用空指针域存储前驱后继信息,显著提升了遍历效率,减少递归和栈开销。适用于频繁遍历、内存受限的场景,如数据库索引、文件系统和嵌入式系统,兼顾时间与空间性能优化。
中序
线索化
二叉树
及遍历(非递归)
本文介绍了一种基于二叉搜索树的
线索化
处理方法,通过建立线索
二叉树
实现对空指针的
合理
利用,使得遍历操作更加高效。文章详细展示了如何创建二叉搜索树、对其进行中序
线索化
,并提供了中序遍历的递归与非递归实现。
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章