复制2个二叉树(Binary tree)

频道:计算机技能 日期: 浏览:72

image.png
要复制 2 个二叉树,可以执行以下操作:
为了最简单的复制,我们从上到下开始复制。

1.复制2棵二叉树的算法思路

我将初始化 Tree q = NULL (这是将接收复制数据的对象)。

如果最初 q==NULL,则意味着它将成为树的根,然后我将新建 1 个值为 t->info 的节点,然后分配地址,仅此而已。

有了原来的Node后,例如如图所示,就是(3)。 我将进入其子分支继续复制。 很容易看出,我还将创建一个新节点,
重要的是让节点号 (3) 指向我刚刚创建的节点。 然而,除了信息之外,Node 还会包含 2 个信息:pLeft 和 pRight。
所以需要判断pLeft或者pRight是否指向刚刚创建的节点。

因此,您将有一个 pos 变量来指定它。

Node * q (或 Tree q)被传递到函数中,现在作为新节点的父节点。

这样做直到到达原始数据树的末尾。 (树:t = NULL)

2.C++二叉树复制算法代码

image.png
image.png
image.png

评论留言

暂时没有留言!

我要留言