news 2026/6/23 21:00:57

数据结构——二叉树

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据结构——二叉树

一.概念

1.结点的度:⼀个结点含有⼦树的个数称为该结点的度;

2.树的度:⼀棵树中,所有结点度的最⼤值称为树的度;

3.叶⼦结点或终端结点:度为0的结点称为叶结点;

4.双亲结点或⽗结点:若⼀个结点含有⼦结点,则这个结点称为其⼦结点的⽗结点;

5.孩⼦结点或⼦结点:⼀个结点含有的⼦树的根结点称为该结点的⼦结点

6.根结点:⼀棵树中,没有双亲结点的结点;

7.结点的层次:从根开始定义起,根为第1层,根的⼦结点为第2层,以此类推

8.树的⾼度或深度:树中结点的最⼤层次;

二.二叉树

1.概念

树的度为2的,⼆叉树的⼦树有左右之分,次序不能颠倒,因此⼆叉树是有序树

2.两种特殊的二叉树

满二叉树:一颗二叉树如果每层的结点数都达到最⼤值,则这棵⼆叉树就是满⼆叉树。

也就是说,如果⼀棵⼆叉树的层数为K,且结点总数是 ,则它就是满⼆叉树。

完全二叉树:完全⼆叉树是效率很⾼的数据结构,完全⼆叉树是由满⼆叉树⽽引出来的对于深度为K的,有n个结点的⼆叉树,当且仅当其每⼀个结点都与深度为K的满⼆叉树中编号从0⾄n-1的结点⼀ 对应时称之为完全⼆叉树。 要注意的是满⼆叉树是⼀种特殊的完全⼆叉树。

3.二叉树的性质

1.若规定根结点的层数为1,则⼀棵⾮空⼆叉树的第i层上最多有2^(i - 1)(i>0)个结点

2. 若规定只有根结点的⼆叉树的深度为1,则深度为K的⼆叉树的最⼤结点总数是((2 ^ k) - 1)(k>=0)

3. 对任何⼀棵⼆叉树, 如果其叶结点个数为 n0, 度为2的⾮叶结点个数为 n2,则有n0=n2+1 (度为0的结点比度为2的结点多一个)

4. 具有n个结点的完全⼆叉树的深度k为log(n + 1)上取整

5. 对于具有n个结点的完全⼆叉树,如果按照从上⾄下从左⾄右的顺序对所有节点从0开始编号,则对于序号为i的结点有:

若i>0,双亲序号:(i-1)/2;i=0,i为根结点编号,⽆双亲结点

若2i+1<n,左孩⼦序号:2i+1,否则⽆左孩⼦

若2i+2<n,右孩⼦序号:2i+2,否则⽆右孩⼦

4. 二叉树的遍历

1.前序遍历:根结点 --> 左子树 --> 右子树

2.中序遍历:左子树 --> 根结点 --> 右子树

3.后序遍历:左子树 --> 右子树 --> 根结点

4.层序遍历:从上到下从左到右依次遍历

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

揭秘FSNotes:现代笔记管理的智能解决方案实战指南

揭秘FSNotes&#xff1a;现代笔记管理的智能解决方案实战指南 【免费下载链接】fsnotes Notes manager for macOS/iOS 项目地址: https://gitcode.com/gh_mirrors/fs/fsnotes 你是否曾为寻找一款真正懂你的笔记应用而苦恼&#xff1f;在信息爆炸的时代&#xff0c;传统的…

作者头像 李华
网站建设 2026/6/23 17:27:42

Wan2.2-T2V-A14B在游戏开发中的应用:快速制作剧情动画

Wan2.2-T2V-A14B在游戏开发中的应用&#xff1a;快速制作剧情动画 你有没有经历过这样的场景&#xff1f;策划熬夜写完一段感人至深的主线剧情&#xff0c;兴冲冲地拿给美术&#xff1a;“咱们来做个过场动画吧&#xff01;” 结果对方淡淡回一句&#xff1a;“这个镜头至少要三…

作者头像 李华
网站建设 2026/6/23 17:28:37

Redmine项目管理平台终极使用指南:新手必读FAQ

Redmine是一个基于Ruby on Rails框架开发的灵活项目管理Web应用&#xff0c;为团队协作、任务跟踪和项目规划提供全面解决方案。本指南采用FAQ问答形式&#xff0c;帮你快速掌握这个强大的项目管理工具。 【免费下载链接】redmine Mirror of redmine code source - Official Su…

作者头像 李华
网站建设 2026/6/23 17:28:42

3大核心技能带你玩转大规模并行处理器编程

3大核心技能带你玩转大规模并行处理器编程 【免费下载链接】大规模并行处理器程序设计资源介绍 《大规模并行处理器程序设计》是一本深入浅出的并行程序设计书籍&#xff0c;全面系统地介绍了并行程序设计与GPU体系结构的基本概念。本书详细探讨了用于构建并行程序的各种技术&a…

作者头像 李华
网站建设 2026/6/23 17:27:12

轻松捕获网络视频:Video DownloadHelper 1.6.3版全方位使用指南

轻松捕获网络视频&#xff1a;Video DownloadHelper 1.6.3版全方位使用指南 【免费下载链接】VideoDownloadHelper插件下载 Video DownloadHelper 是一款广受欢迎的浏览器插件&#xff0c;专门用于从网页中下载视频和音频文件。它支持多种浏览器&#xff0c;并且能够识别并下载…

作者头像 李华