1一、线索二叉树定义:线索、线索化、线索二叉树在一个n结点的链式存储二叉树中,有n+1个指针域是空指针域,可以把每个空指针域用于存放分别指向某种遍历次序的前趋和后继结点的指针
在结点的空指针域中存放的该结点在某遍历次序下的前趋结点和后继结点的指针叫做线索
第一页,共二十页
2遍历二叉树的结果是,求得结点的一个线性序列ABCDEFGHK先序序列ABCDEFGHK中序序列BDCAHGKFE后序序列DCBHKGFEA第二页,共二十页
3指向该线性序列中的“前驱”和“后继”的指针,称作“线索”与其相应的二叉树,称作“线索二叉树”包含“线索”的存储结构,称作“线索链表”ABCDEFGHK^D^C^^BE^第三页,共二十页
4定义:线索、线索化、线索二叉树把某结点原来空的左(右)指针域用于存放指向其前趋(后继)结点的指针,也叫左(右)线索
对一个二叉树中的所有结点的空指针域按照某种遍历次序加线索的过程叫作线索化,被线索化了的二叉树称作线索二叉树
一、线索二叉树第四页,共二十页
5增加两个标志域:0leftChild域指示结点的左孩子1leftChild域指示结点的前驱0rightChild域指示结点的右孩子1rightChild域指示结点的后继leftTag=rightTag=leftChildleftTagdatarightTagrchildChild一、线索二叉树第五页,共二十页
6○A○C○F○G○B○D○E○H○I中序线索二叉树:图中的虚线箭头即为新加上的线索
一、线索二叉树第六页,共二十页
7后序序列DBECA前序序列ABDCE一、线索二叉树第七页,共二十页
8带表头结点的中序线索二叉树一、线索二叉树第八页,共二十页
9实战:1、对于下图二叉树,画出其前序线索二叉树、中序线索二叉树和后序线索二叉树
AEDCBFGH2、n个结点的线索二叉树上含有线索数为()A2nBn-1Cn+