二叉树基础

news/2025/1/15 23:30:04/

                 

https://www.bilibili.com/video/BV1Hy4y1t7ij/?spm_id_from=333.337.search-card.all.click&vd_source=168d5f618ec1a68e1f162d91a35a12b6

完全二叉树的底部一定是从左到右是连续的。满二叉树一定是完全二叉树。

二叉搜索树:左边左子树的所有节点都小于这个中间节点,右边右子树的所有节点都大于中间节点。

--搜索一个节点的时间复杂度是logN级别的

平衡二叉搜索树示例:下面是一个平衡二叉搜索树

二叉树的遍历,其实是图论里面的两大类搜索方式,深度和广度优先搜索。深度优先搜索有前、中、后序遍历。广度优先搜索里边是层序遍历。

深度优先搜索,一般用递归的方式来实现。前/中/后序遍历都是深度优先搜索,都是通过递归方式实现。(也可用迭代法实现前中后序遍历)

广度优先搜索,一层一层或一圈一圈的去遍历。常见方式是层序遍历。二叉树的层序遍历是广度优先搜索的一种。层序遍历就是迭代法,层序遍历就是用一个队列来实现对二叉树一层一层的搜索。在图论里广度优先搜索也是使用队列,因为队列的先进先出的特点符合我们一层一层遍历的需求。

二叉树存储方式,链式存储和线性存储(如用数组存储)。

--编程语言在实现递归的过程中,是用栈的这种结构来实现。

基础部分:

https://www.bilibili.com/video/BV1s54y1U7V3/?spm_id_from=333.337.search-card.all.click&vd_source=168d5f618ec1a68e1f162d91a35a12b6

节(结)点的度,节点所引出的分支的个数

树的度,树中所有节点的最大分支数

叶子节点,度为0的节点称为叶子节点。

双亲和孩子

树的存储结构

二叉树定义

满二叉树(可看成完全二叉树的一种),除了最底层节点外,所有节点都有左右孩子

完全二叉树,可理解成由满二叉树,从右到左,依次删除最底层的节点。(满二叉树一定是完全二叉树。)

推导:

高度有两种取值策略

向上取整

向下取整

推导推广

完全二叉树,左右孩子节点位置推算

引出不同的遍历次序(前中后序遍历,针对二叉树)

对于树,没有中序遍历说法,只有前后序遍历

树和该树转换后的“二叉树”的一些遍历结论:

树和转换后的“二叉树”的先序遍历的节点访问顺序是一样,若要对树进行先序遍历,可对转换后的“二叉树”进行先序遍历即可。

树的后序遍历等效于转换后的“二叉树”的中序遍历

二叉树遍历的整体框架(1,2,3处表在不同位置代入visit(p)代码),该图想表明二叉树遍历可用递归来做

 


http://www.ppmy.cn/news/66709.html

相关文章

Dev C++中出现 undefined reference to XXX 错误的解决方式

出现 undefined reference to XXX 错误的现象: 主函数中调用在其他文件中定义的函数,编译报错:未定义的引用xxx。 原理:编译器在生成可执行文件的过程包括预处理、编译、汇编、链接,这4个过程,这个问题一般…

ACM - DP习题集(word里面的一小部分题集)

DP 一、经典问题1、编辑距离2、扔鸡蛋问题3、整数背包4、最大独立集5、最长公共子序列6、最长公共递增子序列7、最长公共子串(ing)8、最长上升子序列9、最长回文子序列10、最长回文子串(ing)11、最长不重复子字符串(in…

MySQL集群

目录 主从复制 主从复制流程: 为什么要有relay log中继日志? 为什么要有主从复制,好处? 实际生产环境中。如果对MySQL数据库的读写都在一台数据库服务器中操作,无论是再安全性、高可用性,还是高并发性等…

Eclipse字体大小设置的5个步骤

Eclipse是一款非常流行的Java集成开发环境(IDE),它被广泛地用于开发Java应用程序。在Eclipse中,字体大小对于用户体验至关重要。因此,了解如何在Eclipse中设置字体大小是非常有用的。 1、打开Eclipse 首先,打开Eclipse IDE。如果E…

100+Python挑战性编程练习系列 -- day 10

Question 31 定义一个函数,它可以打印一个字典,其中键是1到20(包括在内)之间的数字,值是键的平方。 def printDict():dict{i:i**2 for i in range(1,21)} # Using comprehension method andprint(dict)printDict()Qu…

【51单片机】点亮一个LED灯(看开发板原理图十分重要)

🎊专栏【51单片机】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【The Right Path】 🥰大一同学小吉,欢迎并且感谢大家指出我的问题🥰 目录 🍔基础内容 &#x1f3f3…

计算机专业含金量高的证书

目录 第一种证书:计算机技术与软件专业资格考试证书 第二种证书:微软认证 第三种证书:Oracle认证 第四种证书:思科认证 第五种证书:华为认证 第六种证书:红帽认证工程师 第七种证书:阿里…

shell脚本----sed命令

文章目录 一、sed的工作流程二、sed的操作三、Sed命令使用3.1打印内容3.2删除行3.3替换3.4插入3.5分组调用 一、sed的工作流程 sed概述 sed编辑器时一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。 sed编辑器可以根据命令来处理…