线索二叉树

✍ dations ◷ 2025-12-04 03:18:39 #

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

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

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

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

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

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

相关

  • 雌酮雌酮(英语:Estrone或oestrone,E1,或译为雌酚酮、雌激素酮)是一种较弱的雌性甾体性激素,是三种主要的内源性雌激素之一,另外两种为雌二醇和雌三醇。雌酮等雌激素的生物合成从胆固醇
  • 天蝎座天蝎座(拉丁语:Scorpius,天文符号:♏),是一个位于南天球的黄道带星座之一,面积496.78平方度,占全天面积的1.204%,在全天88个星座中,面积排行第三十三。每年6月3日子夜天蝎座中心经过上
  • 国家重点实验室国家重点实验室(“重点实验室”)是中华人民共和国顶尖的科学研究基地,依托中国大陆各个大学和科研院所建设,由科技部进行宏观管理。各重点实验室的行政主管部门为相关的部委、地
  • 纽约中国电影节纽约中国电影节(英语:New York Chinese Film Festival)由中华人民共和国常驻联合国代表团、中华人民共和国驻纽约总领事馆、中国中央电视台电影频道、美国美华艺术协会共同举办
  • 西里尔·欣谢尔伍德西里尔·诺曼·欣谢尔伍德爵士,OM(英语:Sir Cyril Norman Hinshelwood,1897年6月19日-1967年10月9日),英国化学家,因化学反应动力学方面的研究与尼古拉·谢苗诺夫一起获得1956年的诺
  • 比得哥什 (纳粹集中营)纳粹集中营转移营比利时:布伦东克堡垒 · 梅赫伦转移营法国:居尔集中营 · 德朗西集中营意大利:波尔查诺转移营荷兰:阿默斯福特集中营 · 韦斯特博克转移营挪威:法斯塔德集中营部
  • 巨杉国家森林巨杉国家森林(英语:Sequoia National Forest),也译作红杉国家森林、美洲杉国家森林,是座位于美国加利福尼亚州内华达山脉南的国家森林。该森林名自林区内大片大片的巨杉,在森林内
  • 塔皮奥·黑基莱塔皮奥·黑基莱(芬兰语:Tapio Heikkilä;1990年8月4日-)是一位芬兰足球运动员。在场上的位置是后卫。他现在效力于芬兰足球超级联赛球队HJK赫尔辛基足球俱乐部。他也代表芬兰国家
  • 列夫·叶梅利亚诺维奇·弗洛德济米尔斯基列夫·叶梅利亚诺维奇·弗洛德济米尔斯基(俄语:Лев Емельянович (Эмильевич) Влодзимирский,1905年1月10日-1953年12月23日)波兰裔俄国人,是
  • 绍鲍多什·米克洛什绍鲍多什·米克洛什(匈牙利语:Szabados Miklós,1912年3月7日-1962年2月12日),匈牙利/澳大利亚乒乓球运动员。他曾获得15枚世界乒乓球锦标赛金牌。1926: 雅各比 / 佩奇  · 1928