news 2026/5/30 15:16:55

二叉树的实现与QJ题总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
二叉树的实现与QJ题总结

首先对递归的本质进行一些理解.

递归在逻辑上就是创建很多个一样的子函数,每个函数在遇到返回值或代码走完时结束直到主函数结束,在物理上就是不断的压栈和消栈.

同时我们要知道一个main函数中的代码需会生成一个它自己的代码空间,例如main中的一个函数,它内部的代码会有一份空间,编译器通过这份空间中的代码开栈.如果该函数为递归函数,那么就会通过这份空间的代码不断地开栈而非每遇到一个该函数就给它内部的代码再开一份空间.

总结而言就是编译器在运行过程中遇到一个新函数时,会为它内部的代码创建一份空间,以后在遇到这个函数时就会在调用对应空间的代码而非再创建一份.

下面是二叉树的实现

声明

实现

层序遍历使用了queue,下面的完全二叉树的识别也是.

对于能通过第一个NULL来识别的解释:

只要遇到NULL时,后面一排有非空,就一定能遍历到.
原因:遇到NULL的同排有非空一定能遍历到,此是都不用到下一排了.
故下一排的结点只可能是第一个NULL之前产生的.
总之在遇到第一个NULL之前,下一排的结点一定都出现了.

下面是一些QJ题

1.前序遍历

2.相同的树

3.对称二叉树

4.另一棵树的子树

5.二叉树遍历

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/28 18:07:18

阿里通义Z-Image-Turbo高级设置:系统信息查看实战教程

阿里通义Z-Image-Turbo高级设置:系统信息查看实战教程 1. 为什么需要关注“高级设置”页面? 很多人第一次打开 Z-Image-Turbo WebUI,直奔主界面输入提示词、点生成,几秒后就看到一张图——这很爽,但也很“表面”。真…

作者头像 李华
网站建设 2026/5/29 2:39:57

Quansheng UV-K5对讲机技术解析:硬件架构与信号处理机制

Quansheng UV-K5对讲机技术解析:硬件架构与信号处理机制 【免费下载链接】Quansheng_UV-K5_PCB_R51-V1.4_PCB_Reversing_Rev._0.9 Reverse engineering of the Quansheng UV-K5 V1.4 PCB in KiCad 7 项目地址: https://gitcode.com/GitHub_Trending/qu/Quansheng_…

作者头像 李华
网站建设 2026/5/28 20:21:23

揭秘Keyframes:跨平台动画渲染引擎的底层实现与应用

揭秘Keyframes:跨平台动画渲染引擎的底层实现与应用 【免费下载链接】Keyframes A library for converting Adobe AE shape based animations to a data format and playing it back on Android and iOS devices. 项目地址: https://gitcode.com/gh_mirrors/ke/Ke…

作者头像 李华
网站建设 2026/5/28 14:18:06

三步解锁LunaTranslator:从入门到精通的非典型指南

三步解锁LunaTranslator:从入门到精通的非典型指南 【免费下载链接】LunaTranslator Galgame翻译器,支持HOOK、OCR、剪贴板等。Visual Novel Translator , support HOOK / OCR / clipboard 项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTran…

作者头像 李华
网站建设 2026/5/28 14:18:07

TurboDiffusion实战案例:影视预演动画快速生成系统搭建

TurboDiffusion实战案例:影视预演动画快速生成系统搭建 1. 这套系统到底能帮你解决什么问题? 你有没有遇到过这样的场景:导演刚在会议室画完分镜草图,制片就催着要一段30秒的动态预演视频,好拿去给投资方看效果&…

作者头像 李华