java已知一个二叉树_#二叉树复习#

#二叉树复习#

目录

满二叉树

完全二叉树

平衡二叉树

二叉树的主要性质

--二叉树的度

--二叉树的深度计算

二叉树的遍历

其他

符号变量

103edc198b5bc43b479ff6b49bf0ab0c.png    结点总数

132b19803d49d1cc92cf3ccf263a8e6a.png    深度

84aaa34ce28da7b8d73baf91b05fb5b4.png    度为0的结点数/叶子结点数

b33e93c857c3a87a667460983389c257.png    度为1的结点数

67727df3787e681dc4e9f4fa85c89820.png    度为2的结点数

什么是满二叉树?

二叉树每层的结点数为a31adab46eaff74d736405f60cdedd85.png

满二叉树总结点数:eaa4f2712f39a032843312caf7676b71.png

d14e1c9352e1ef4d15f705e9f71c01f9.png

图1:满二叉树

什么是完全二叉树?

每一个结点的编号都与满二叉树一一对应(自上而下,从左往右)。

完全二叉树的结点数

fc674e03a0b99f02c5a744e56cdd7815.png

001c5ff693c4b6b9a230f6be7009f3a6.png3ef8fc138c455ae6f13a71f0e4cf7616.png

b982d28df338a2967615e5e86ebb8489.png

图2:完全二叉树

下面这种就不是完全二叉树,因为编号没有一一对应

327602c21e1bf1fdf2fe59b94ab5e9c9.png

图3:非完全二叉树

平衡二叉树

任意节点的子树的高度差(左子树的结点数-右子数的结点数)都小于等于1。

可以是空树。

假如不是空树,任何一个结点的左子树与右子树都是平衡二叉树,并且高度之差的绝对值不超过 1。

二叉树的主要性质

二叉树的度

在二叉树中,度为0的结点数比度为2的结点数为1

d14e1c9352e1ef4d15f705e9f71c01f9.png

图4:满二叉树

图中度为2的结点数为3,度为0的结点数为4

1842cda2ba34e38ea3348b336804c250.png

274ee023ca5184ac2eb2bdd4aab3f7f5.png

a237339ea2d09379299c42df140d055c.png

二叉树的深度计算

深度为132b19803d49d1cc92cf3ccf263a8e6a.png的二叉树中,最大结点数

2a35eba21527f8bf01350bde1bf9c2d2.png

通过数学变换得到

4e451a290c8367e565615f395cb73f5b.png

二叉树的遍历分为前序遍历、中序遍历和后序遍历

d14e1c9352e1ef4d15f705e9f71c01f9.png

图5:满二叉树

拿图5的满二叉树为例

前序遍历结果为:A BDE CFG(根左右);

中序遍历结果为:DBE A FCG(左根右);

后序遍历结果为:DEB FGC A(左右根);

问答题

(1)已知一棵完全二叉树的第 4 层有 4 个叶子节点(树根为第 1 层),则这棵完全二叉树的节点个数最多有几个结点?

c201b45fc89a9e638a87f85d7ed7c6f6.png

图6:最少情况下的完全二叉树

最少情况下需要3023f68c8b0780666c44170387114daa.png个结点

3e44e95cecf03887833e05251a122e6e.png

图7:最多情况下的完全二叉树

最多情况下的完全二叉树需要641b37c3760c8519b24f3148b0386ceb.png个结点。

平衡(AVL)二叉树查找效率最高。

二叉查找树上查找的时间复杂度有可能是 O(N)。

平衡二叉查找树上查找的时间复杂度有可能是 O(log2N)。

完全二叉树能用数组来表示。

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

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

相关文章

java 反射机制_基础篇:深入解析JAVA反射机制

反射的概念java 的放射机制:在程序运行时,程序有能力获取一个类的所有方法和属性;并且对于任意一个对象,可以调用它的任意方法或者获取其属性通俗解析:java 文件需要编译成. class 文件才能被 jvm 加载使用, 对象的. c…

html div float center,跨浏览器实现float:center

跨浏览器实现float:center互联网 发布时间:2008-10-17 19:26:11 作者:佚名 我要评论原文:http://www.macji.com/blog/article/to-achieve-cross-browser-css-float-center/to-achieve-cross-browser-css-float-center/我们都知道float…

oracle左连接没用_一周零基础学完Oracle数据库第三天02

四、 多表查询1 什么是多表查询多表查询:当查询的数据并不是来源一个表时,需要使用多表链接操作完成查询。根据 不同表中的数据之间的关系查询相关联的数据。多表链接方式: 内连接:连接两个表,通过相等或不等判断链接列…

weblogic启动项目报错找不到类_启动类报错是经常出现的事但是单一的从一个地方找原因会越找越错...

Error starting ApplicationContext. To display the conditions report rerun your application with debug enabled.当我们看到这个报错的时候有的说是jar包重复,有的说是Controller包和Application包处于平行位置,还有的觉得是RequestMapping的valu…

深入理解javascript原型和闭包(7)——原型的灵活性

在Java和C#中,你可以简单的理解class是一个模子,对象就是被这个模子压出来的一批一批月饼(中秋节刚过完)。压个啥样,就得是个啥样,不能随便动,动一动就坏了。 而在javascript中,就没…

c语言为什么有这么多的编程环境?_为什么98%的程序员学编程都会从C语言开始?...

在互联网蓬勃发展的时代,有一类人做出了巨大的贡献,这一群人被大家称之为程序员,怎样才能成为一名优秀的程序员呢,为什么每一个程序员都需要学习C语言呢?就让我来跟大家分享分享:壹第一:相比较其…

Angular 星级评分组件

一、需求演变及描述: 1. 有一个“客户对公司的总体评价”的字段(evalutation)。字段为枚举类型,0-5,对应关系为:0-暂无评价,1-很差,2-差,3-一般,4-好&#xf…

计算机网络怎么查看连接打印机驱动,如何检测网络打印机是否已成功连接到计算机[检测方法]...

大概很多婴儿都像以前的编辑一样. 使用网络打印机时,有时它们可​​以打印打印机没有和电脑连接,有时却不能. 那么如何检测网络打印机是否已成功连接到计算机?跟随编辑器往下看.系统反复提示“无法打印”,因此本来很忙的小修几乎快…

a - 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历_数据结构--图

故事凌 今天基本知识点图可说是所有数据结构里面知识点最丰富的一个, 自己笨的知识点如下:阶(oRDER), 度: 出度(out-Degree), 入度(in-Degree)树(Tree), 森林(Forest), 环(Loop)有向图(Directed Graph), 无向图(Undirected Graph), 完全有向图, 完全无向图连通图(Connected Gra…

vim: vimrc

2019独角兽企业重金招聘Python工程师标准>>> 打造vim CIDE http://blog.csdn.net/doc_sgl/article/details/47205779 转载于:https://my.oschina.net/u/2528742/blog/843176

计算机二级考试试题在线看,【TOP182015年全国计算机二级考试试题题库.doc文档免费在线阅读材料】...

TOP182015年全国计算机二级考试试题题库.doc文档免费在线阅读《2015年全国计算机二级考试试题题库.doc》由会员分享,可免费在线阅读全文,更多与《TOP182015年全国计算机二级考试试题题库.doc文档免费在线阅读》相关文档资源请在帮帮文库(www.woc88.com)数…

不用开发实现RDS RDWeb门户美化和个性化

个性化RDWeb界面RDWeb原生界面相对比较简洁,每个企业部署的RDWeb都是千篇一律的,有些用户可能希望将网页装饰得个性化点。在谈到自定义Web界面,第一反应可能是使用代码进行编写,但是这里要和大家分享的是无代码美化和自定义RDWeb界…

其他大神的配置 nginx 配置参考

2019独角兽企业重金招聘Python工程师标准>>> user nginx nginx; worker_processes 2; #error_log logs/error.log; error_log logs/error.log notice; #error_log logs/error.log info; pid logs/nginx.pid; google_perftools_profiles /tmp/tcmalloc; worker_rlim…

小孩用计算机做作业怎么表达,计算机作业

满意答案尧Dreaman夕2014.09.25采纳率:40% 等级:10已帮助:1121人Windows中可以设置、控制计算机硬件配置和修改桌面布局的应用程序是( D)A) Word B) Excel C)资源管理器 D)控制面板多窗口的切换可以通过(D )来实现A)在任务栏上用鼠标单击右…

[No0000178]改善C#程序的建议1:非用ICloneable不可的理由

好吧,我承认,这是一个反标题,实际的情况是:我找不到一个非用ICloneable不可的理由。事实上,接口ICloneable还会带来误解,因为它只有一个Clone方法。 我们都知道,对象的拷贝分为:浅拷…

SOM 的两种算法

我参考了这篇文章http://www.scholarpedia.org/article/Kohonen_network另一个很好的演示在这里http://www.math.le.ac.uk/people/ag153/homepage/PCA_SOM/PCA_SOM.htmlSOMt是训练步一个输入数据是n维向量待训练的是一堆节点,这堆节点之间有边连着,通常是…

秒懂,Java 注解 (Annotation)你可以这样学

转自: https://blog.csdn.net/briblue/article/details/73824058 文章开头先引入一处图片。 这处图片引自老罗的博客。为了避免不必要的麻烦,首先声明我个人比较尊敬老罗的。至于为什么放这张图,自然是为本篇博文服务,接下来我自会说明。好了…

Java技术中的三大特性

为什么80%的码农都做不了架构师?>>> 1.虚拟机 Java虚拟机JVM(Java Virtual Machine)在Java编程里面具有非常重要的地位,约相当…

matlab图像增强分段线性函数_图像增强、锐化,利用 PythonOpenCV 来实现 4 种方法!...

图像增强目的使得模糊图片变得更加清晰、图片模糊的原因是因为像素灰度差值变化不大,图片各区域产生视觉效果似乎都是一样的, 没有较为突出的地方,看起来不清晰的感觉解决这个问题的最直接简单办法,放大像素灰度值差值、使图像中的…

计算机考研保护一志愿,考研良心大学,保护一志愿的考研名校!

大家好,我是,今天胖胖要跟大家送一些重要的干货,就是对于选学校的小伙伴来说也好,或者是即将要参加研究生复试的小伙伴们来好胖胖在这里要跟大家说一个关于考研白名单的事情,因为大家都知道考研是会分黑名单和白名单&a…