线索二叉树

✍ dations ◷ 2025-09-04 23:32:38 #

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

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

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

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

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

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

相关

  • 纤溶酶1B2I, 1BML, 1BUI, 1CEA, 1CEB, 1DDJ, 1HPJ, 1HPK, 1I5K, 1KI0, 1KRN, 1L4D, 1L4Z, 1PK4, 1PKR, 1PMK, 1QRZ, 1RJX, 2DOH, 2DOI, 2KNF, 2L0S, 2PK4, 3UIR, 4A5T, 4DCB, 4DUR
  • 菜豆菜豆(学名:Phaseolus vulgaris)通称包括云藊豆、白肾豆、架豆、芸豆、刀豆、玉豆、去豆、四季豆等,一年生豆科植物,是餐桌上的常见蔬菜之一。油豆角(Phaseolus vulgaris var. chin
  • 朗道-拉马努金常数兰道-拉马努金常数(Landau–Ramanujan constant)是一个和数论有关的常数,对于一正整数x ,若x很大时,小于x且可以表示为二平方数和整数的个数和下式成正比二者之间的比例即为兰道-
  • 德·斯戴尔杰曼·德·斯戴尔(Germaine de Staël,1766年4月22日-1817年7月14日),全名安娜·路易斯·杰曼·德·斯戴尔-奥斯丹(Anne Louise Germaine de Staël-Holstein ),以德·斯戴尔夫人而
  • 氙酸盐氙酸盐统称含有氙酸根离子(XeO42-)的盐类。碱金属的氙酸盐固体粉末可以通过将三氧化氙溶液与碱金属氢氧化物严格按等比混合,再经冷冻和干燥而制得。氙酸钠(NaHXeO4·1.5H2O)和氙
  • 凭祥凭祥市位于中国广西壮族自治区西南部的边境线上,是崇左市代管的一个县级市。市政府驻凭祥镇。凭祥市是一个口岸城市,与越南的谅山接壤。宋代始命名此地为凭祥。明朝洪武年间,凭
  • 美国陆军传染病医学研究所美国陆军传染病医学研究院(The United States Army Medical Research Institute of Infectious Diseases; USAMRIID) 是美国陆军辖下最主要的防御性医疗研究单位,专门研发生
  • 邵元明邵元明(1956年12月-),山东德州人。中国人民解放军中将。曾任中国人民解放军第二炮兵部队第53基地(驻地云南昆明)参谋长、司令员。在深化国防和军队改革中,2016年任中国人民解放军火
  • 天主教伊皮尔教区天主教伊皮尔教区 (拉丁语:Dioecesis Ipilensis、他加禄语:Diyosesis ng Ipil)是菲律宾一个罗马天主教教区,属天主教三宝颜总教区。辖区包括三宝颜锡布格省。2004年有教友392,989
  • AC-130空中炮艇洛克希德AC-130空中炮艇(Lockheed AC-130 Gunship)是一个由美国空军所操作的重型对地攻击机系列,是以洛克希德C-130“力士”式(Hercules)运输机为基础所进一步改装而成,主要用于密