线索二叉树

✍ dations ◷ 2025-09-18 15:55:59 #

在计算机科学中,二叉树添加了直接指向节点的前驱和后继的指针的二叉树称为线索二叉树。

线索二叉树(引线二叉树) 的定义如下:

“一个二叉树通过如下的方法“穿起来”:所有原本为空的右(孩子)指针改为指向该节点在中序序列中的后继,所有原本为空的左(孩子)指针改为指向该节点的中序序列的前驱。”

线索二叉树能线性地遍历二叉树,从而比递归的 中序遍历更快。使用线索二叉树也能够方便的找到一个节点的父节点,这比显式地使用父亲节点指针或者栈效率更高。这在栈空间有限,或者无法使用存储父节点的栈时很有作用(对于通过深度优先搜索来查找父节点而言)。考虑这样的例子:一个节点有一个右孩子,那么的左指针可能是指向一个孩子节点,或是一个指回的线索。如果有左孩子,这个左孩子同样也应该有一个左孩子或是指回的线索。对于所有的左孩子同理。因此沿着这些从发出的左指针,我们最终会找到一个指回的线索。这种特性是对称的:当是的左孩子时,我们可以沿着的右孩子找到一个指回的线索。

传统的二叉树一般都是以链式存储的结构来表示。这样,二叉树中的每个节点都可以用链表中的一个链节点来存储,每个链节点就包含了若干个指针。但是,这种传统的链式存储结构只能表现出二叉树中节点之间的父子关系,而且不能利用空余的指针来直接得到某个节点的在特定的遍历顺序(先序,中序,后序)中的直接前驱和直接后继。通过分析传统的二叉树链式存储结构表示的二叉树中,存在大量的空闲指针。若能利用这些空指针域来存放指向该节点的直接前驱或是直接后继的指针,则可以进行某些更方便的运算。这些被重新利用起来的空指针就被称为线索,加上了这些线索的二叉树就是线索二叉树。

对二叉树以某种遍历顺序进行扫描并为每个节点添加线索的过程称为二叉树的线索化,进行线索化的目的是为了加快查找二叉树中某节点的前驱和后继的速度。那么在有N个节点的二叉树中需要利用N+1个空指针添加线索。这是因为在N个节点的二叉树中,每个节点有2个指针,所以一共有2N个指针,除了根节点以外每一个节点都有一个指针从它的父节点指向它,所以一共使用了N-1个指针。所以剩下2N-(N-1)个空指针。

相关

  • iBamHI结构 / ECODBamHI(亦可写作BamH1)是一种常用的II型限制性核酸内切酶。BamHI最早取自淀粉芽孢杆菌(英语:Bacillus amyloliquefaciens)(Bacillus amyloliquefaciens)中。
  • 综合维他命复合维生素(Multivitamin)是一种膳食补充剂,含有维生素及矿物质等微量营养素。通常所见的复合维生素有片剂、胶囊剂、锭剂、粉状、液状及注射剂等形式。除注射剂在医师指导下方
  • 气象站气象站(英语:weather station)指为了取得气象资料而建成的观测站,不少气象站内设有气压计、温度计及雨量计等被动式感应器来量度各种气象要素,部分气象站还设有地表及不同深度之
  • 波德postal_code_type 邮编 人博尔德(Boulder /ˈboʊldər/),又称圆石市,是美国科罗拉多州的一个城市,位于州府丹佛西北,是博尔德县县治。面积65.7平方公里,2010年人口97385人
  • 乔治·克林顿乔治·克林顿(George Clinton,1739年7月26日-1812年4月20日),美国军人、政治家,民主共和党党员,曾任纽约州州长(1777年-1795年、1801年-1804年)和美国副总统(1805年-1812年)。下列县名
  • 莱茵-鲁尔 北莱茵-威斯特法伦莱茵-鲁尔都会区(德语:Metropolregion Rhein-Ruhr)是德国最大的都市区,拥有超过1100万人口,拥有多个中心都市。莱茵鲁尔区面积7110平方公里,位于北莱茵-威斯特
  • 黑斯廷斯之战黑斯廷斯之战(英语:Battle of Hastings)是英国历史上的重要事件诺曼征服中最具决定性的一战,诺曼军队于1066年10月14日在东萨塞克斯黑斯廷斯附近击败英格兰国王哈罗德二世统帅的
  • 劳拉·威尔士·布什劳拉·威尔奇·布什(英文:Laura Lane Welch Bush,1946年11月4日-)原名劳拉·雷恩·威尔奇(Laura Lane Welch),美国第43任总统乔治·沃克·布什的妻子,即美国前第一夫人之一,亦是唯一生
  • 各国政体列表各国政体列表 列出了联合国193个会员国的国体(form of state)与政体(form of government)、梵蒂冈城、马耳他骑士团以及十二个争议领土。此列表基本上列出各国宪法所表明的
  • 凯莉·奥斯本凯莉·李·奥斯本(英语:Kelly Lee Osbourne,1984年10月27日-)是一名英国女歌手、演员、作家、电视主持人、模特儿和时装设计师。她是著名歌手奥齐·奥斯本和电视主持人莎朗·奥斯