617  将一棵二叉树覆盖另一棵二叉树

本文详细解析了树的合并算法,介绍了三种不同情况下的合并策略:当两个节点都是空时,返回空;当一个节点为空,另一个不空时,直接返回非空节点;当两个节点都不为空时,创建新节点并递归合并左右子树。文章强调了在合并过程中,关注当前节点的合并,而非子树的合并,以简化问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                                                                                                                           点击此处返回总目录

 

 

【题目】

 

 

【分析】

首先合并当前节点,然后合并左孩子,然后合并右孩子。

(1)如果都是null,返回null即可。

                          

(2)如果一个是null,一个不是null。要返回不是null的节点,这样就把整个子树都拿过来了,下面的不需要再递归。

                                    

(3)如果都不是null。就新建一个节点,然后再递归合并它的做孩子和有孩子。

                                

 

返回的结果的那棵树中,有的节点是自己新建的,有的节点是直接从t1、t2拿过来的。

考虑问题的时候,就只考虑当前节点怎么合并,不要操心儿子怎么合并。

 

 

【代码】

 

 

【结果】

 

 

 

 

 

 

 

 

二、考核目标 1.  考核学生对数据结构和算法基本知识的掌握。 2.  考核学生对普通线性表知识的掌握。 3.  考核学生对栈和队列知识的掌握。 4.  考核学生对树和二叉树知识的掌握。 5.  考核学生对图知识的掌握。 6.  考核学生对数据查找知识的使用。 7.  考核学生对数据排序知识的掌握。 三、考试内容 1.  线性表数据结构及相关算法:顺序表存储结构和基本运算、单链表存储结构及基本运算、循环链表存储结构及基本运算、双向链表存储结构及基本运算、顺序栈和链栈的存储结构及基本运算、顺序队列和链队的存储结构及基本运算。 2.  树及相关算法:二叉树的顺序存储和链式存储、二叉树的基本运算、二叉树的遍历算法、树和森林的存储结构、树和森林与二叉树的转换、哈夫曼树的构建算法、哈夫曼编码算法。 3.  图及相关算法:图的邻接矩阵和邻接表、图的遍历、最小生成树、最短路径、拓扑排序。 4.  数据查找算法:顺序查找、折半查找、二叉排序树、哈希查找。 5.数据排序算法:直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、二路归并排序。 6.数据结构的综合应用:结合一种以上的典型数据结构实现一个小型软件系统的数据结构设计和算法设计。我要一份复习资料请帮我整合一下
最新发布
03-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值