线索二叉树

✍ dations ◷ 2025-12-04 15:21:08 #

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

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

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

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

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

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

相关

  • 路易十五路易十五(法语:Louis XVI;(1710年2月15日-1774年5月10日),被称作被喜爱者(法语:法语:le Bien-Aimé),作为法国国王在1715年—1774年期间执政。他神奇地延续着整个濒死的家庭,他执政的早期
  • 蜂族地花蜂科(英语:Andrenidae) 蜜蜂科 Apidae 分舌花蜂科 Colletidae 犰狳蜂科(英语:Dasypodaidae) 集蜂科 切叶蜂科 Megachilidae Meganomiidae(英语:Meganomiidae) 准蜂科(英语:Me
  • 元和元和是日本的年号之一,在庆长之后、宽永之前,指的是从1615年到1624年这段期间。这个时代的天皇是后水尾天皇,江户幕府的将军是德川秀忠、德川家光。依照德川家康的命令,采用唐宪
  • 第聂伯河波罗的海 – 黑海 – 北极 – (跳马 – PQ-17船团 – 仙境)1941年巴巴罗萨 – (比亚韦斯托克及明斯克 – 斯摩棱斯克 – 乌曼 – 列宁格勒 – 第一次基辅 – 塞瓦斯托波尔围
  • 腾讯云腾讯云(英语:Tencent Cloud;又称:腾讯云计算),是腾讯推出的云端运算服务,发布全球云服务版图,构建覆盖全球的数据中心节点,在更多地区跟全球的合作伙伴共同构建,为中国出海企业以及海
  • 印度古典式舞蹈印度古典式舞蹈其实是很多种类舞蹈方式的总称。这些舞蹈在某些时代在以印度为中心的南亚地区流行。其中,最有名的是印度泰米尔纳德邦的婆罗多舞和印度北部的卡塔克。然而在现
  • 凯恩斯 (昆士兰州)凯恩斯(英语:Cairns)(又译坚士市, 柬兹, 或开因兹),是澳大利亚昆士兰州北部的滨海城市和一个地方行政区域,于1876年开埠。该城以当时昆士兰总督威廉·惠灵顿·凯恩斯之名命名。早
  • 哈康七世哈康七世(Haakon VII av Norge, Christian Frederik Carl Georg Valdemar Axel,1872年8月3日-1957年9月21日)是挪威从瑞典独立后的第一任挪威国王,丹麦国王弗雷德里克八世与皇后
  • 黄克孙黄克孙(英文名:Kerson Huang,1928年3月15日-2016年9月1日),生于中国广西南宁,在菲律宾马尼拉长大。美籍华裔物理学家、翻译家,曾任麻省理工学院物理学教授,出版统计力学的著作。他是
  • 露西·波頓露西·波頓(英语:Lucy Boynton,1994年1月17日-)出生于美国纽约,为美国女演员。她出生于纽约市,后在伦敦长大,毕业于詹姆斯艾伦女子学校(英语:James Allen's Girls' School)。博因顿出生