(保留版权,欢迎转载。请注明原始链接:http://blog.csdn.net/markcnsc/article/details/8566466)
1. 前提
二叉树的几何结构和遍历路径,是查找前驱和后继的基础。
2. 结点分类
几何结构千变万化,但单个结点必然和至多3点邻接:左(或右)父,左子和右子。按照“X”型助记,交叉点为研究对象。为求结点N的前驱结点P和后继结点S,设N的左子L,右子R和父F(FL,F的左子,FR,F的右子):若N是F的左子,则F是N的右父;若N是F的右子,则F是N的左父。
3. 先后顺序
同一几何结构,不同的遍历方式得到不同的遍历路径;具体到单个结点,也就有不同的前驱结点和后继结点。
4. 具体讨论
4.1 先序遍历
先序前驱与后序后继,先序后继与后续前驱,和中序前驱与中序后继,分别形成3对镜像过程。4.1.1 先序前驱
4.1.1.1 若N==FL,则P=F;
4.1.1.2 若N==FR,且FL==0,则P=F;
4.1.1.3 若N==FR,且FL