要复制 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++二叉树复制算法代码
评论留言
暂时没有留言!