线索二叉树

✍ dations ◷ 2025-05-11 07:09:29 #

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

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

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

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

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

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

相关

  • 半抗原半抗原(hapten)是指本身分子量过小,无法刺激免疫反应,必须和载体(carrier)结合才能刺激发生免疫反应。半抗原能与对应抗体结合出现抗原-抗体反应,又不能单独激发人或动物体产生抗体
  • 阿尔卑斯山羊羱羊或阿尔卑斯羱羊(学名:Capra ibex),居于欧洲的阿尔卑斯山上的一种山羊属的野生山羊。在中文里,山羊属现存九个物种中,除了本种之外,有另外六种也俗称为“羱羊”(详见:山羊属)。阿尔
  • 同素异构体同素异形体,是指由同一种化学元素组成,而结构形态却不相同的单质。同素异形体由于结构不同,物理性质与化学性质上也有差异。同素异形体这一术语针对的是单质,而非化合物,更一般的
  • 苍姓是中文姓氏之一,在《百家姓》中排第287位。在现代是极罕见的姓氏。苍姓是多种来源:
  • 台湾大联盟台湾职业棒球大联盟(Taiwan Major League Professional Baseball;英文缩写:TML),简称台湾大联盟、台湾职棒大联盟,是台湾第二个职业棒球联盟,成立于1996年,2003年初解散。全联盟共有
  • 圣母无玷始胎国家朝圣地圣殿圣母无玷始胎全国朝圣所圣殿(Basilica of the National Shrine of the Immaculate Conception)是美国首都华盛顿哥伦比亚特区的一座罗马天主教宗座圣殿和国家朝圣地,尊敬美国的
  • 抗原表位抗原表位(英语:antigenic epitope),简称“表位”,也称为“抗原决定位”或“抗原决定簇”(antigenic determinant),是指抗原表面上决定抗原特异性的化学官能团。抗原表位可被免疫系统
  • 尤金·帕克尤金·纽曼·帕克(英语:Eugene Newman Parker,1927年6月10日-),美国天文学家。尤金·帕克于1948年自密歇根州立大学学士毕业,1951年自加州理工学院取得博士学位。1950年代他研究出
  • 菊池病菊池病,也称组织细胞坏死性淋巴结炎或菊池-藤本病。1972年由日本福冈大学病理学教授菊池昌弘(菊池 昌弘)发现,同年,另一名日本学者藤本吉秀(藤本 吉秀)也报告了这种疾病。菊池病是
  • 主权豁免主权豁免(英文:Sovereign immunity) 或皇家豁免或君主豁免(英文:Crown immunity)是指一司法惯例。君主或国家不可能犯上法律上的过失,以及免于受到民事与刑事起诉。在君主立宪制下,