线索二叉树,设计的思想是什么呢?不用帮我写代码,告诉我思想就行了。比如,用递归算法完成遍历子树功能,我课本有代码,但是看不懂 。,,
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
threenewbee 2020-04-26 10:37最佳回答 专家已采纳思想就是,如果我们要遍历一个二叉树,需要一个堆栈。
遍历一个“一叉树“(你可以把链表或者顺序表也看作二叉树特例,只是它所有节点的度都是1)不需要堆栈
为什么呢,因为当出现2个分支的时候,我们必须先处理一个分支,并且在处理完了以后能返回这里,为了能返回这里,就需要一个标记。
那怎么解决这个问题呢,很简单,当处理完了(子节点为NULL),我们让子节点自己存储一个指向返回到遍历位置的指针,这样就不要堆栈了。采纳该答案 已采纳该答案 专家已采纳评论解决 无用打赏举报微信扫一扫
分享评论登录 后可回复...
报告相同问题?
提交
相关推荐 更多相似问题
- 2020-04-25 23:32回答 1 已采纳 思想就是,如果我们要遍历一个二叉树,需要一个堆栈。 遍历一个“一叉树“(你可以把链表或者顺序表也看作二叉树特例,只是它所有节点的度都是1)不需要堆栈 为什么呢,因为当出现2个分支的时候,我们必须先
- 2020-04-22 12:59回答 2 已采纳 你好呀,这个问题属于 中缀表达式 和 前缀表达式(也称波兰式)的相互转换。 以下是我的纸质演算过程。 、a/b,不满足,顺序就很重要。 如
- 2021-11-07 22:28回答 1 已采纳 visit是函数指针,类域名本来就是修饰变量的类比一下:class A{ public: static char *p;};char * A::p;
- 2021-05-03 12:12(2) 用先序遍历法建立二叉树二叉链表存储结构(结点数据域类型为char,输入字符序列用字符'#'表示NULL),实现中序线索化,并用非递归算法输出中序遍历结果的正序和逆序序列。 二、图 1. 已知某无向图如下图所示。画出...
- 2017-08-24 16:57逗比驾到的博客 上次已经介绍了递归算法以及二叉树的基本操作,最重要的就是二叉树的遍历算法。这次主要是介绍树的孩子兄弟表示法以及树和二叉树的转换。还是老规矩:程序在码云上可以下载。 地址:...
- 2019-05-06 14:22该资源包含了几乎所有的数据结构的动画视频,帮助我们更好的理解数据结构与算法的编程思路。 目录如下: 'B树的删除.swf', 'B树的生长过程.swf', '三元组表的转置.swf', '中序线索化二叉树.swf', '串的顺序存储.swf'...
- 2020-04-21 23:05回答 1 已采纳  任何一个二叉树都可以通过上面的图生成(当然,单个节点
- 2020-04-26 22:58回答 1 已采纳  看这个图,比如说先序遍历 传统的,每个节点存储左右
- 2020-04-30 16:51回答 2 已采纳 就是转换成堆栈,如果你要一个通用的办法,那么就相当于实现一个解释器。因为解释器就维护一个通用的调用堆栈。
- 2022-03-06 15:21编程小鹏的博客 package 数据结构; public class BinaryTreeDemo { public static void main(String[] args) { // TODO 自动生成的方法存根 //先创建二叉树 BinaryTree binaryTree=new BinaryTree(); //创建节点 ...
- 2022-03-07 17:20呦,又写BUG呢的博客 王道数据结构编程题(二叉树)
- 2021-11-16 15:24李子树_的博客 (2)画出这棵二叉树的后序线索树。 (3)将这棵二叉树转换成对应的树(或森林) 假设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为0.07、0.19、0.02、0.06、0.32、0.03、0.21和0.10。 (1)试为...
- 2020-05-01 23:44回答 1 已采纳 你可以认为,树是图的特例(连通图,入度=0或1,没有回路) 二叉树是树的特例(连任何节点的出度<=2) 线性表是二叉树的特例(任何节点要么是叶子节点,要么只有一个儿子节点) 图、树、二叉树
- 2015-11-16 17:50Andy2016的博客 线索二叉树 让编程改变世界 Change the world by program 线索二叉树 为什么需要线索二叉树呢? 我想正如程序猿发觉单链表并不总能满足他们设计的程序某些要求的时候,发明了...
- 没有解决我的问题, 去提问