||
穿线二叉树属于无堆栈深度优先遍历的一种,一般的书籍上对其描述比较费解,本文以一张图为例来说明穿线树算法。
穿线树中序遍历路径详解:
每个节点有五个格的数据,其含义为:中间一个是存储数据;从左向右,第一个和第五个是指针,具体指向什么取决于第二个和第四个的值。
第二个如果是零,实线表示,则第一个指向的是左孩子
第二个如果是1,虚线表示,则第一个指向的是在中序遍历次序下,该节点的前驱(即前一个),如果该节点自己就是第一个,没有前驱,则为空指针 ,图中最左边 的的C就是这样。
注:(中序遍历是先访问左孩子,再访问根,再访问右孩子,图中节点的中根遍历次序为CBDAFHG。
第四个为0 ,则第五个指向右孩子
第四个为1.则第五个指向中序遍历次序下的后继,如本身已经是最后一个没有后继,则为空指针
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-20 00:59
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社