数据结构二叉树
pjw444
嵌入式应用的小学生,学习数据结构中,渴望与大家分享
展开
-
对线索化二叉树的理解(三)
上一篇的《理解(二)》中漏掉了一点, 对二叉树进行线索化的时候,最后pre更新成为树中最右下角那个叶子节点,这个节点还没有线索化,需要对他单独线索化, 在函数最外面 pre->Rtga = Thread; pre->Rchild = NULL; 即可。 这里简单说下线索化二叉树的方法实现: 一、查找二叉树中序线索化后的第一个节点:其实就是中序遍历的最左边的节点。 放到线索化里面,就是递原创 2018-01-25 21:00:25 · 539 阅读 · 2 评论 -
对线索二叉树的理解(一)
第一次接触“线索二叉树”的时候,完全不能理解这种模型。现在想想,大概的原因是看到线索二叉树是要记录树节点的前驱和后继的时候,下意识就想到“双向链表”那里去了,认为线索二叉树也会像双向链表一样,通过记录每个节点的前驱和后继,来“极方便”地找到每个节点的前驱和后继(节点a的前驱就是a->pre, 节点a的后继就是a->next)。但是线索二叉树与双向链表并不相同,线索二叉树只是利用了自身多余的n+原创 2018-01-18 20:05:46 · 765 阅读 · 0 评论 -
对线索二叉树的理解(二)
之前是对线索二叉树概念的理解了,从整体上了解了它以后就可以安心去研究他的算法实现和方法实现了。(1)首先对于链式访问的两个节点a和b,如果我们先访问a再访问b,那我们可以得到2个信息:①b的前驱是a;②a的后继是b。实际二叉树也是这样进行线索化的(pre就是a,BT就是b): if (!BT->Left) //如果该结点没有左孩子,利用左指针域指示这个节点的前驱,即①原创 2018-01-18 20:53:57 · 263 阅读 · 0 评论