首页 常见问题 必须懂的二叉树公式

必须懂的二叉树公式

Jun 22, 2019 am 09:45 AM
二叉树 官方的

必须懂的二叉树公式

1、一般二叉树的性质 

性质1、在非空二叉树的i层上,至多有2^i个结点。 

性质2、高度为K的二叉树中,最多有2^(k+1)-1个结点。 

性质3、对于任何一棵非空的二叉树,如果叶结点的个数为n0,度为2的结点个数为n2,则有n0=n2+1。 

2、完全二叉树 

定义:如果一棵二叉树中,只有最下面的两层结点度数小于2,其余各层结点度数都等于2,并且最下面一层的结点,都集中在该层最左边的若干位置上,则此二叉树称为完全二叉树。 

性质1、具有n个结点的完全二叉树的高度k为[log^2n]。 

性质2、对于具有n个结点的完全二叉树,如果按照从上(根结点)到下(叶结点)和从左到右的顺序对二叉树中的所有结点从0开始到n-1进行编号,则对于任意的下标为i的结点,有: 

(1)如果i=0,则它是根结点,它没有父结点;如果i>0,则它的父结点的下标为(i-1)/2。 

(2)如果2i+1<=n-1,则下标为i的结点的左子结点的下标为2i+1;否则,下标为i的结点没有左子结点。 

(3)如果2i+2<=n-1,则下标为i的结点的右子结点的下标为2i+2;否则,下标为i的结点没有右子结点。 

3、满二叉树 

定义:如果一棵二叉的任何结点或者是树叶,或有两棵非空子树,则此二叉树称作满二叉树。 

性质、在满二叉树中,叶结点的个数比分支结点个数多1。 

4、扩充二叉树 

定义:扩充二叉树是对一个已有二叉树的扩充,扩充后原二叉树的结点都变为度数为2的分支结点。也是就是说,如果原结点的度数为2,则不变;度数为1,则增加一个分支;度数为0,则增加两个分支。 

性质1、在扩充二叉树中,外部结点的个数比内部结点的个数多1。 

性质2、对任意扩充二叉树,外部路径长度E和内部路径长度I之间满足以下关系:E=I+2n,其中n是内部结点个数。

更多常见问题的相关技术文章,请访问常见问题栏目进行学习!

以上是必须懂的二叉树公式的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PPT插入公式效果的流程图的详细方法 PPT插入公式效果的流程图的详细方法 Mar 26, 2024 pm 04:36 PM

1、打开PPT,单击【插入】选项卡,在【插图】组中单击【smartArt】按钮。2、在打开的【选择smartArt图形】对话框中单击【流程】。3、在打开的【流程】窗格中选择【公式】流程图。4、单击【确定】,【公式】流程图便插入到幻灯片窗格。5、在【在此处键入文字】栏【文本】处单击,或单击图形上【文本】,可以输入内容。6、在图形中选择形状,单击【smartArt工具】的【设计】选项卡,在【创建图形】组单击【添加形状】按钮,可以添加形状。7、图形中的形状也可以选择后删除,当然也可以根据需要在smar

Excel表格公式怎么操作 Excel表格公式怎么操作 Mar 20, 2024 pm 12:07 PM

工作中用到excel软件时,常常要用到函数公式,要想熟练运用excel,就要熟练操作函数公式。对于掌握公式,其实也不是很难的,我们可以从最简单的开始学习,今天小编就来跟大家分享Excel表格公式怎么操作,以乘法公式为例,跟大家一起来学习!1.首先,打开excel,由于我是在这里做演示,所以随便输入了两组数据,现在我们要计算这两组数据的乘积。我们想要算A列和B列的乘积,把单元格放在D4处,如下图红色圈出部分所示:2.然后,在单元格中输入等号,选择第一个参数B4单元格,输入乘号,选择第二个参数C4单

在C语言中打印二叉树的左视图 在C语言中打印二叉树的左视图 Sep 03, 2023 pm 01:25 PM

任务是打印给定二叉树的左节点。首先,用户将插入数据,从而生成二叉树,然后打印所形成的树的左视图。每个节点最多可以有2个子节点,因此这里程序必须仅遍历与节点关联的左指针如果左指针不为空,则意味着它将有一些与之关联的数据或指针,否则它将是要打印并显示为输出的左子级。示例Input:10324Output:102这里,橙色节点代表二叉树的左视图。在给定的图中,数据为1的节点是根节点,因此它将被打印,而不是转到左子节点,它将打印0,然后它将转到3并打印其左子节点,即2。我们可以使用递归方法来存储节点的级

Java中的二叉树结构详解 Java中的二叉树结构详解 Jun 16, 2023 am 08:58 AM

二叉树是计算机科学中常见的数据结构,也是Java编程中常用的一种数据结构。本文将详细介绍Java中的二叉树结构。一、什么是二叉树?在计算机科学中,二叉树是一种树形结构,每个节点最多有两个子节点。其中,左侧子节点比父节点小,右侧子节点则比父节点大。在Java编程中,常用二叉树表示排序,搜索以及提高对数据的查询效率。二、Java中的二叉树实现在Java中,二叉树

在C语言中,将二叉树的右视图打印出来 在C语言中,将二叉树的右视图打印出来 Sep 16, 2023 pm 11:13 PM

任务是打印给定二叉树的右节点。首先用户将插入数据以创建二叉树,然后打印所形成的树的右视图。上图展示了使用节点10、42、93、14、35、96、57和88创建的二叉树,其中选择并显示在树的右侧的节点。例如,10、93、57和88是二叉树的最右节点。示例Input:1042931435965788Output:10935788每个节点都有两个指针,即左指针和右指针。根据这个问题,程序只需遍历右节点。因此,不需要考虑节点的左子节点。右视图存储了所有那些是其所在层级的最后一个节点的节点。因此,我们可以

如何使用Python实现二叉树的遍历 如何使用Python实现二叉树的遍历 Jun 09, 2023 pm 09:12 PM

作为一种常用的数据结构,二叉树经常被用来存储数据、搜索和排序。遍历二叉树是非常常见的操作之一。Python作为一种简单易用的编程语言,有许多方法可以实现二叉树的遍历。本文将介绍如何使用Python实现二叉树的前序、中序和后序遍历。二叉树的基础在学习二叉树的遍历之前,我们需要了解二叉树的基本概念。二叉树由节点组成,每个节点都有一个值和两个子节点(左子节点和右子

公式vlookup怎么用 公式vlookup怎么用 Feb 19, 2024 pm 10:37 PM

公式VLOOKUP是微软Excel中非常常用的一个函数,它用于在一个表格或数据集中查找特定的值,并返回与之相关联的其他值。在本篇文章中,我们将学习如何正确使用VLOOKUP公式。VLOOKUP函数的基本语法如下:VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])其中:lookup

二叉树中等腰三角形的数量 二叉树中等腰三角形的数量 Sep 05, 2023 am 09:41 AM

二叉树是一种数据结构,其中每个节点最多可以有两个子节点。这些孩子分别称为左孩子和右孩子。假设我们得到了一个父数组表示,您必须使用它来创建一棵二叉树。二叉树可能有几个等腰三角形。我们必须找到该二叉树中可能的等腰三角形的总数。在本文中,我们将探讨几种在C++中解决这个问题的技术。理解问题给你一个父数组。您必须以二叉树的形式表示它,以便数组索引形成树节点的值,而数组中的值给出该特定索引的父节点。请注意,-1始终是根父节点。下面给出的是一个数组及其二叉树表示。Parentarray=[0,-1,3,1,