普通树的遍历、合并及对比
日常开发过程中,我们经常会碰到树这种数据结构,譬如权限树、区域层级树,系统调用链等等,今天想记录一下在某个面试题中碰到的关于树的算法题,通过对该题的解答巩固自身对于数据结构的理解,以及希望给有相同困惑的小伙伴以参考的作用。闲话不多说,我们来看题(如涉及到泄题,还请联系我予以删除)
题目描述
如下图所示,可近似看作系统的一个调用链,A为请求的网关,随着业务的不断拓展,系统调用链结构会慢慢发生变化,逐渐从形态一演化到形态二,经过相应的系统重构及链路优化后:
- 系统E下线
- 系统b、f、H、I上线,且系统F挂载到了新的中间业务系统b下
请对两颗树:先行分别计算高度、统计结点总数,然后进行合并处理,同时计算并输出对比结果
编程要求
写一个树合并和对比的工具类:
1. 计算树的高度、总结点数
2. 合并两颗树
3. 输出两颗树的对比结果
- ADD : b、f、H、I
- DELETE : E
解题分析
根据题目