树的基础算法(二)二叉树

news/2025/11/19 11:42:01/文章来源:https://www.cnblogs.com/weiwei2021/p/19241692

树的基础算法(二)二叉树

一 二叉树的定义与性质

1.1 定义

二叉树(Binary Tree)是由节点组成的树形结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。若节点没有子节点,则称为叶子节点;若只有一个子节点,则需明确左或右。

1.2 核心性质

1.2.1 节点关系:

  • 节点数 = 边数 + 1。
  • 深度(Depth):根节点深度为0,子节点深度逐层递增。
  • 高度(Height):从节点到最远叶子节点的最长路径边数。

1.2.2 特殊类型:

  • 满二叉树:所有层节点数达到最大值(第i层有2i个节点)。
  • 完全二叉树:除最后一层外,其他层填满,最后一层左对齐。
  • 二叉搜索树(BST):左子树值 < 根节点值 < 右子树值。
  • 平衡二叉树(AVL/红黑树):左右子树高度差 ≤ 1(AVL),或近似平衡(红黑树)。

二 基础算法

2.1 基本操作

2.1.1 节点结构体定义​

typedef struct TreeNode {int data;struct TreeNode* left;struct TreeNode* right;
} TreeNode;

功能:存储节点值及左右子节点指针;

2.1.2 插入节点(以BST为例)​

TreeNode* insertBST(TreeNode* root, int val) {if (root == NULL) return createNode(val);if (val < root->data) root->left = insertBST(root->left, val);else root->right = insertBST(root->right, val);return root;
}

复杂度:平均O(log n),最坏O(n)(树退化为链表)。

2.1.3 查找节点​

TreeNode* searchBST(TreeNode* root, int val) {if (root == NULL || root->data == val) return root;return (val < root->data) ? searchBST(root->left, val) : searchBST(root->right, val);
}

复杂度:同插入操作。

2.1.4 删除节点​

TreeNode* deleteBST(TreeNode* root, int key) {if (root == NULL) return root;if (key < root->data) root->left = deleteBST(root->left, key);else if (key > root->data) root->right = deleteBST(root->right, key);else {if (root->left == NULL) return root->right;else if (root->right == NULL) return root->left;else {TreeNode* minNode = findMin(root->right);root->data = minNode->data;root->right = deleteBST(root->right, minNode->data);}}return root;
}

逻辑:处理叶子节点、单子节点、双子节点三种情况。

2.2 遍历算法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/969885.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

山东欧太亚塑业有限公司联系方式:企业基本信息与沟通指南

一、官方联系方式 联系电话 时总 二、使用建议与提醒 在联系山东欧太亚塑业有限公司时,建议先通过电话进行初步沟通,明确具体业务需求与合作意向,以便获得更高效的服务响应。由于企业涉及国际贸易业务,需注意时差因…

山东众和新材科技联系方式:合作前需了解的基本事项

一、官方联系方式 联系电话 13306365256 联系人 赵思久 二、使用建议与提醒 在选择纺织品印花服务时,建议先明确自身面料特性与印花工艺匹配度。不同面料如棉、化纤或混纺材质适用的印花技术存在差异,活性印花与涂料…

权威认证!2025 美国留学机构五大排名:唯寻 220 枚牛剑录取领跑,择校指南看这篇

随着美国留学申请竞争进入白热化阶段,选对靠谱的留学机构成为冲击名校的关键。从本科冲刺藤校、研究生瞄准 Top30,到转学申请、在职申硕等多元需求,机构的专业度直接决定申请成功率。今天结合 2025 申请季真实录取数…

2025 年 11 月悬浮炉厂家权威推荐榜:真空悬浮熔炼炉,50kg/30kg/15kg/5kg真空感应悬浮炉专业选购指南

2025 年 11 月悬浮炉厂家权威推荐榜:真空悬浮熔炼炉,50kg/30kg/15kg/5kg真空感应悬浮炉专业选购指南 一、行业技术发展现状 真空悬浮熔炼技术作为特种冶金领域的重要分支,在航空航天、核工业、高端装备制造等行业发…

2025年11月消防机器狗场景落地商排行与选择指南:赛飞特工程技术集团深度解析

随着城市化进程加速和极端灾害频发,消防应急救援领域面临前所未有的挑战。传统消防手段在高温、浓烟、坍塌或有毒气体等高危环境中局限性显著,消防员人身安全与救援效率成为核心痛点。此类场景下,用户可能为政府应急…

2025 年 11 月真空电弧炉厂家推荐排行榜,真空自耗电弧炉,2.5t/4t/7t真空自耗电弧炉,真空电极自耗电弧,真空电弧炉熔炼设备厂家推荐

2025 年 11 月真空电弧炉厂家推荐排行榜,真空自耗电弧炉,2.5t/4t/7t真空自耗电弧炉,真空电极自耗电弧,真空电弧炉熔炼设备厂家推荐 一、行业背景介绍 真空电弧炉作为特种冶金装备的核心设备,在航空航天、核能材料…

2025 年 11 月悬浮炉厂家推荐排行榜,真空悬浮炉,50kg悬浮炉,30kg真空感应悬浮炉,15kg/5kg悬浮熔炼炉公司精选

2025年11月悬浮炉厂家推荐排行榜:真空悬浮炉、50kg悬浮炉、30kg真空感应悬浮炉、15kg/5kg悬浮熔炼炉公司精选 行业背景与发展现状 悬浮熔炼技术作为现代冶金工业的重要分支,在航空航天、核能材料、特种合金等高端制造…

创建数组

创建数组 从一个Python列表创建 # 从一个Python列表创建一个NumPy数组,类型由序列中元素的类型推断出来,也可以显示指定 a = np.array([1, 2, 3]) print(a.dtype) # int64将序列的序列转换成二维数组,将序列的序列的…

深圳公司招聘电气/自动化工程师

公司名称:深圳市中科探云智能科技有限公司 薪资:1.2万-2.4万 工作地点:广东省深圳市光明区高科创新中心 有意联系手机号13510084470 关于我们 我们是一家专注于全自动化实验室功能岛的高科技公司,正处于高速发展的…

linux ddos 攻击

Linux 系统本身并不直接支持 DDoS(Distributed Denial of Service)攻击,但你可以利用 Linux 系统的工具和脚本来检测、防御或模拟 DDoS 攻击。以下是一些与 DDoS 相关的 Linux 工具和命令,用于防御、检测或分析 DD…

linux db2 9.7

你提到的 DB2 9.7 是 IBM 的数据库管理系统,主要用于 Linux 系统。以下是一些与 Linux 系统中安装、配置和管理 DB2 9.7 的常见命令和脚本示例:一、安装 DB2 9.7(以 Red Hat / CentOS 为例) 1. 使用 yum 安装(适用…

文献综述模板详解:快速掌握撰写技巧与格式规范

本文围绕文献综述模板展开详细解析,助力学术研究。先介绍基础认知,阐述其定义、价值、核心要素,指出写作误区。接着说明撰写准备,包括文献检索筛选、阅读笔记及辅助工具选择使用。实操部分,讲解结构框架搭建、内容…

实战案例 | 斯歌 NBS 平台驱动 PTP 采购流程端到端解决方案的架构设计与落地复盘

实战案例 | 斯歌 NBS 平台驱动 PTP 采购流程端到端解决方案的架构设计与落地复盘 在激烈的市场竞争中,高效的采购供应链管理是制造企业控制成本、保障供应链稳定的核心。近期,上海斯歌凭借端到端业务流程设计与落地…

在vite.config.ts中配置proxy后台api代理实现前台开发环境与后台生产环境对接

在vite.config.ts中配置proxy后台api代理实现前台开发环境与后台生产环境对接学习 PlayEdu 项目时,需要搭建前台代码开发环境。首先通过 git clone 下载源码,使用 VS Code 打开,并用 nvm 配置对应的 Node.js 版本:…

本土开发者如何选择代码托管平台?

本土开发者如何选择代码托管平台?Gitee与海外平台的差异化竞争分析 在数字化转型浪潮下,代码托管平台已成为软件开发团队不可或缺的基础设施。随着国内开发者群体的快速增长,如何选择适合自身需求的代码托管平台成为…

2025年口碑好的水泵控制配电箱厂家最新TOP实力排行

2025年口碑好的水泵控制配电箱厂家最新TOP实力排行行业背景与市场趋势随着我国工业自动化水平的不断提升和水利基础设施建设的持续推进,水泵控制配电箱作为关键电气设备,市场需求呈现稳定增长态势。据中国电器工业协…

电脑黑屏(无视频输出信号)

突然黑屏 五年前配的电脑突然黑屏,主板的hdmi和显卡的hdmi都没有输出. 分析: 3500X 没核显 → 主板 HDMI 本来就不会亮。 显卡 HDMI 也不亮 → 重点怀疑:显卡、供电、内存、主板自检不过。 一、硬件自检没过 B450M 迫…

ECMWF数值天气预报的现状和发展

ECMWF数值天气预报的现状和发展ECMWF无论形势场或者是降水场的预报都居于世界前茅 2013年,L91 ==>L137 2015年,T1279(9km)==>T2047 2020年,T2047 ==>T3999(5km)

我发现凡是给offer的公司,面试时基本不问技术细节,那些问得又多又细的公司,后面基本就没下文了!

大家好,我是R哥。 最近看到一个很真实的帖子,有网友吐槽:我发现凡是给offer的公司,面试时基本不问技术细节,那些问得又多又细的公司,后面基本就没下文了!看到这个,我只能默默表示赞同,真的说到我心坎里了。 尤…

深圳公司招聘后端开发工程师

公司名称:深圳市中科探云智能科技有限公司 薪资:1.2万-2.4万 工作地点:广东省深圳市光明区高科创新中心 有意联系手机号13510084470 关于我们 我们是一家专注于全自动化实验室功能岛的高科技公司,正处于高速发展的…