码迷,mamicode.com
首页 > 数据库 > 详细

线索二叉树(ThreadedBinary Tree)

时间:2015-04-15 21:03:46      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:

      当以二叉树作为存储结构时,只能找到节点的左右孩子信息,不能直接得到结点在任一序列中的前驱和后继信息,只有在遍历过程中才能得到这种信息。而我们可以证明:在n个结点的二叉链表中含有n+1个空指针。因为含n个结点的二叉链表中含有2n个指针,除了根结点,每个结点都有一个从父结点指向该结点的指针,因此一共使用了n-1个指针,所以在n个结点的二叉链表中含有n+1个空指针。由此我们可以思考,利用原来的空链域存放指针,指向节点前驱和后继。这些指向直接前驱结点和指向直接后续结点的指针被称为线索(Thread)

       我们规定:若节点有左子树,则其Lchild域指示其左孩子,否则令Lchild域指示其前驱;若节点有有子树,则其Rchild域指示右子树,否则,令Rchild域指示其后继,为了不混淆,增加两个标志域。

   技术分享

 

其中 LTag、RTag为0,分别表示Lchild,Rchild指示的节点的孩子,否则指示的是节点的前驱和后继。

线索二叉树(ThreadedBinary Tree)

标签:

原文地址:http://www.cnblogs.com/yanglingwell/p/4429824.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!