- 将数列 {1, 3, 6, 8, 10, 14 } 构建成一颗二叉树
- 问题分析
当我们对上面的二叉树进行中序遍历时,数列为 {8, 3, 10, 1, 6, 14 }
但是 6, 8, 10, 14 这几个节点的左右指针,并没有完全的利用上.
如果我们希望充分的利用各个节点的左右指针,让各个节点可以指向自己的前后节点
解决方案:线索二叉树
- 简介
n个结点的二叉链表中含有n+1 【公式 2n-(n-1)=n+1】 个空指针域。利用二叉链表中的空指针域,存放指向该结点在某种遍历次序下的前驱和后继结点的指针(这种附加的指针称为"线索")
这种加上了线索的二叉链表称为线索链表,相应的二叉树称为线索二叉树(Threaded BinaryTree)。根据线索性质的不同,线索二叉树可分为前序线索二叉树、中序线索二叉树和后序线索二叉树三种
一个结点的前一个结点,称为前驱结点,例如在数列{8, 3, 10, 1, 6, 14 }中3的前驱结点是8
一个结点的后一个结点,称为后继结点
标签:10,结点,链表,二叉树,线索,指针
From: https://www.cnblogs.com/chniny/p/16729337.html