线索二叉树

✍ dations ◷ 2025-12-07 13:16:24 #

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

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

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

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

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

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

相关

  • 甲氯环素甲氯环素(其国际非专利药品名称为“Meclocycline”),也称为“氯甲烯土霉素”,是一种四环素类抗生素。它能与tRNA结合,从而达到抑菌的效果,常用于外用(例如用于治疗皮肤的局部感染等
  • 烹饪烹饪,又称烹调、烹煮、炊煮、造饭、做菜,指将食材处理并制作成食物、菜肴、餐点、膳食的方法。一个好的菜肴,色香味形俱佳,不但让人在食用时感到满足,而且能让食物的营养更容易被
  • 末日幻想末日小说(英语:apocalyptic fiction)是科学幻想中幻想由于核战争、瘟疫、丧尸、外星生命入侵、撞击事件、人工智能叛变、技术奇异点、种族退化、超自然现象、末世论、地球的未
  • 内惟埤内惟埤为台湾高雄市鼓山区的一座湖泊,北侧有龟山、半屏山,西侧有寿山,并紧临爱河。台湾清治时期康熙年间,为便利农田灌溉而开辟,是高雄市最大灌溉埤塘。1986年开始规划成41公顷的
  • 葡萄状肉瘤葡萄状肉瘤(英语:Sarcoma botryoides, Botryoid Sarcoma, Botryoid Rhabdomyosarcoma)是胚胎性横纹肌肉瘤(英语:embryonal rhabdomyosarcoma)下的一个子类,它常常在空细胞壁、粘膜
  • 鸵鸟肉非洲鸵鸟(学名:Struthio camelus)属鸵形目鸵鸟科,是世界上最大的一种鸟类,生活于非洲的沙漠草地和稀树草原地带,因其羽、皮及肉等都有很高的经济价值,有生长快、繁殖力强、易饲养和
  • 圣玛丽山大学圣玛丽山大学(Mount Saint Mary's University)是位于美国马里兰州的一所天主教文理学院。1808年由一位法国移民成立,最初是一所教堂,是美国面积第二大的天主教大学。2015年《美
  • 茨万吉拉伊摩根·理查德·茨万吉拉伊(Morgan Richard Tsvangirai,1952年3月10日-2018年2月14日),津巴布韦政治家,曾任津巴布韦总理,是津巴布韦最大反对党争取民主变革运动的创始人与主要领袖
  • 核酸序列核酸序列(英语:Nucleic acid sequence,亦称为核酸的一级结构)使用一串字母表示的真实的或者假设的携带基因信息的DNA分子的一级结构。每个字母代表一种核碱基,两个碱基形成一个碱
  • 川上贞奴川上贞奴(日语:川上 貞奴/かわかみ さだやっこ ,1871年9月2日-1946年12月7日),本名川上贞“小山贞”,日本明治至昭和年间著名艺妓、女演员。曾在全球各地演出,由美国前总统麦金利以