|
6.4.2 二叉树其它操作算法举例
三、复制二叉树
以后序遍历为例可得下列算法。先写一个生成一个二叉树的结点的算法:
BiTNode *GetTreeNode(TElemType item,BiTNode *lptr, BiTNode *rptr)
{
//
生成一个其元素值为 item,左指针为 lptr,右指针为 rptr 的结点
T = new BiTNode; T-> data = item;
T-> Lchild = lptr; T-> Rchild = rptr;
return T;
}
|
|
复制二叉树指的是,在计算机中已经存在一棵二叉树,现要按原二叉树的结构重新生成一棵二叉树,其实质就是就是按照原二叉树的二叉链表另建立一个新的二叉链表。类似于求二叉树的深度,"复制"可以在先序遍历过程中进行,也可以在后序遍历过程中进行。但不管是哪一种遍历,其"访问"操作都是"生成二叉树的一个结点"。 |
|