怎么使用二叉树
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍"怎么使用二叉树",在日常操作中,相信很多人在怎么使用二叉树问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么使用二叉树"的疑惑有所帮助!接下来,请跟着
千家信息网最后更新 2025年02月01日怎么使用二叉树
这篇文章主要介绍"怎么使用二叉树",在日常操作中,相信很多人在怎么使用二叉树问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么使用二叉树"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
「以下以前序遍历为例:」
「确定递归函数的参数和返回值」:因为要打印出前序遍历节点的数值,所以参数里需要传入vector在放节点的数值,除了这一点就不需要在处理什么数据了也不需要有返回值,所以递归函数返回类型就是void,代码如下:
void traversal(TreeNode* cur, vector& vec)
「确定终止条件」:在递归的过程中,如何算是递归结束了呢,当然是当前遍历的节点是空了,那么本层递归就要要结束了,所以如果当前遍历的这个节点是空,就直接return,代码如下:
if (cur == NULL) return;
「确定单层递归的逻辑」:前序遍历是中左右的循序,所以在单层递归的逻辑,是要先取中节点的数值,代码如下:
vec.push_back(cur->val); // 中 traversal(cur->left, vec); // 左 traversal(cur->right, vec); // 右
单层递归的逻辑就是按照中左右的顺序来处理的,这样二叉树的前序遍历,基本就写完了,在看一下完整代码:
前序遍历:
class Solution { public: void traversal(TreeNode* cur, vector& vec) { if (cur == NULL) return; vec.push_back(cur->val); // 中 traversal(cur->left, vec); // 左 traversal(cur->right, vec); // 右 } vector preorderTraversal(TreeNode* root) { vector result; traversal(root, result); return result; } };
那么前序遍历写出来之后,中序和后序遍历就不难理解了,代码如下:
中序遍历:
void traversal(TreeNode* cur, vector& vec) { if (cur == NULL) return; traversal(cur->left, vec); // 左 vec.push_back(cur->val); // 中 traversal(cur->right, vec); // 右 }
后序遍历:
void traversal(TreeNode* cur, vector& vec) { if (cur == NULL) return; traversal(cur->left, vec); // 左 traversal(cur->right, vec); // 右 vec.push_back(cur->val); // 中 }
此时大家可以做一做leetcode上三道题目,分别是:
144.二叉树的前序遍历
145.二叉树的后序遍历
94.二叉树的中序遍历
到此,关于"怎么使用二叉树"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
递归
代码
节点
学习
单层
数值
逻辑
中左
函数
参数
就是
更多
处理
帮助
实用
接下来
完了
数据
文章
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机网络安全的发展方向
广东北斗授时模块服务器
厦门极趣网络技术有限公司
浙江拓讯网络技术有限公司被告
软件开发阶段主要采用的工具
数据库的并发控制引入的机制
华岩共享数据库
数据库实施怎么做
数据库在企业中的作用 原因
运用了通信网络技术的行业
北京易诚互动网络技术有限公司
云数据库保障安全性
vc 组态软件开发
天下3与服务器断开连接
计算机网络技术课本笔记
武汉网络安全实验基地
2019 各国网络安全等级
存储服务器软件开发
数据库表中表
金盾信安杯网络安全大赛题
国家网络安全周金融日论坛
如何解决魔兽服务器不可用
关系数据库的基本语言
网络安全保障技术关键要素
SQL附加数据库异常
网络技术属于什么职业
万兴科技工业互联网
coc分服务器
服务器至少T
吴堡软件开发