当前位置: 首页 > news >正文

二叉树|二叉树理论基础、二叉树的递归遍历

代码随想录 (programmercarl.com)

树和二叉树

1.树的基本概念

1.1树的定义

1.2树的逻辑表示方法

1.3树的基本术语

1.4树的性质

1.5树的基本运算

1.6树的存储结构

2.二叉树的概念和性质

2.1二叉树的定义

2.2二叉树的性质

2.3二叉树与树、森林之间的转换

3.二叉树的存储结构

3.1二叉树的顺序存储结构

3.2二叉树的链式存储结构

4.二叉树的基本运算及其实现

5.二叉树的遍历

5.1二叉树遍历的概念

5.2先序、中序、后序遍历递归算法

先序遍历:

class Solution {
public:void traversal(TreeNode* cur, vector<int>& vec) {if (cur == NULL) return;vec.push_back(cur->val);    // 中traversal(cur->left, vec);  // 左traversal(cur->right, vec); // 右}vector<int> preorderTraversal(TreeNode* root) {vector<int> result;traversal(root, result);return result;}
};

中序遍历:

void traversal(TreeNode* cur, vector<int>& vec) {if (cur == NULL) return;traversal(cur->left, vec);  // 左vec.push_back(cur->val);    // 中traversal(cur->right, vec); // 右
}

后序遍历:

 

void traversal(TreeNode* cur, vector<int>& vec) {if (cur == NULL) return;traversal(cur->left, vec);  // 左traversal(cur->right, vec); // 右vec.push_back(cur->val);    // 中
}

5.3先序、中序、后序遍历非递归算法

5.4层次遍历算法

6.二叉树的构造

二叉树的定义:

struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};

以上,列了一个目录,如果你都明白了,就说明你已经对树和二叉树有一个认识和了解了。

  • 144.二叉树的前序遍历(opens new window)
  • 145.二叉树的后序遍历(opens new window)
  • 94.二叉树的中序遍历

前序:

 

 

只要搞懂了一个遍历的代码实现,其他的就模仿一下子写出。 

http://www.lryc.cn/news/320572.html

相关文章:

  • JavaScript 语法-对象
  • 代码随想录阅读笔记-哈希表【四数之和】
  • JVM学习——双亲委派机制
  • 【Paper Reading】6.RLHF-V 提出用RLHF的1.4k的数据微调显著降低MLLM的虚幻问题
  • Aloudata 倾力打造,《Data Fabric 白皮书 2.0》正式发布
  • docker内部无法使用ping等网络工具解决方案
  • 后端工程师快速使用vue和Element
  • 自学rabbitmq入门到精通
  • 由浅到深认识C语言(13):共用体
  • python爬虫(9)之requests模块
  • phpstudy自定义安装mysql8.3并启动
  • Netty 学习资料
  • 【概率论中的两种重要公式:全概率和贝叶斯】
  • python中的闭包
  • 成功解决RuntimeError: OpenSSL 3.0‘s legacy provider failed to load
  • 【 React 】React 组件之间如何通信?
  • 汇总全网免费API,持续更新(新闻api、每日一言api、音乐。。。)
  • Android SystemServer进程解析
  • Github主页设置贪吃蛇详细教程
  • 二、实现fastdfs文件上传与延迟删除功能的Spring Boot项目
  • Android FrameWork 学习路线
  • 前端开发者如何打造自己的生态以及ip
  • C语言实现一个两个数加减乘除的答题代码(含文件保存),用户增加,题目增加,题目测试,题目答题等等
  • YOLOv9改进策略:注意力机制 | 用于微小目标检测的上下文增强和特征细化网络ContextAggregation,助力小目标检测,暴力涨点
  • 基于单片机的老人防丢系统设计
  • 从海外开发者大会的亲身体悟聊起,谈谈 AI 与开发者关系的重构 | 编码人声
  • HTML_CSS练习:HTML注释
  • 面试官问我Java异步编程用过吗?我直接说了6种方式!
  • 一维坐标的移动(bfs)
  • 面试题 整理