各位老师请教一下,

作者&投稿:称永 (若有异议请与网页底部的电邮联系)
请教一下各位老师,这是什么字啊?~

这个我知道,不就是汉字吗?



  二叉树T是有限个结点的集合,它或者是空集,或者由一个根结点u以及分别称为左子树和右子树的两棵互不相交的二叉树u(1)和u(2)组成。若用n,n1和n2分别表示T,u(1)和u(2)的结点数,则有n=1+n1+n2 。u(1)和u(2)有时分别称为T的第一和第二子树。

  因此,二叉树的根可以有空的左子树或空的右子树,或者左、右子树均为空。

  二叉树有5种基本形态,如图1所示。

  图1 二叉树的5种基本形态(其中□表示空)

  在二叉树中,每个结点至多有两个儿子,并且有左、右之分。因此任一结点的儿子不外4种情况:没有儿子;只有一个左儿子;只有一个右儿子;有一个左儿子并且有一个右儿子。

  --------------------------------------------------------------------------------

  注意:二叉树与树和有序树的区别

  --------------------------------------------------------------------------------

  二叉树与度数不超过2的树不同,与度数不超过2的有序树也不同。在有序树中,虽然一个结点的儿子之间是有左右次序的,但若该结点只有一个儿子时,就无须区分其左右次序。而在二叉树中,即使是一个儿子也有左右之分。例如图2中(a)和(b)是两棵不同的二叉树。虽然它们与图3中的普通树(作为无序树或有序树)很相似,但它们却不能等同于这棵普通的树。若将这3棵树均看作是有序树,则它们就是相同的了。

  图2 两棵不同的二叉树

  图3 一棵普通的树

  由此可见,尽管二叉树与树有许多相似之处,但二叉树不是树的特殊情形。

  二叉树的数学性质
  二叉树具有以下的重要性质:

  高度为h≥0的二叉树至少有h+1个结点;
  高度不超过h(≥0)的二叉树至多有2h+1-1个结点;
  含有n≥1个结点的二叉树的高度至多为n-1;
  含有n≥1个结点的二叉树的高度至少为logn,因此其高度为Ω(logn)。
  具有n个结点的不同形态的二叉树的数目在一些涉及二叉树的平均情况复杂性分析中是很有用的。设Bn是含有n个结点的不同二叉树的数目。由于二叉树是递归地定义的,所以我们很自然地得到关于Bn的下面的递归方程:
  (1)

  即一棵具有n>1个结点的二叉树可以看成是由一个根结点、一棵具有i个结点的左子树和一棵具有n-i-1个结点的右子树所组成。

  (1)式的解是

  (2)

  即所谓的Catalan数。因此,当n=3时,B3=5。于是,含有3个结点的不同的二叉树有5棵,如图4所示。

  图4 含有3个结点的不同二叉树

  特殊形态的二叉树
  满二叉树和近似满二叉树是二叉树的两种特殊情形。

  一棵高度为h≥0且有2h+1-1个结点的二叉树称为满二叉树。

  若一棵二叉树至多只有最下面的两层结点的度数小于2,并且最下面一层结点都集中在该层的最左边,则称这种二叉树为近似满二叉树(有时也称为完全二叉树)。

  (a) 满二叉树

  (b) 近似满二叉树

  (c) 非近似满二叉树

  图5 特殊形态的二叉树

  例如图5(a)是一棵高度为3的满二叉树。满二叉树的特点是每一层上的结点数都达到最大值,即对给定的高度,它是具有最多结点数的二叉树。满二叉树中不存在度数为1的结点,每个分枝结点均有两棵高度相同的子树,且叶结点都在最下面一层上。图5(b)是一棵近似满二叉树。显然满二叉树是近似满二叉树,但近似满二叉树不一定是满二叉树。在满二叉树的最下层上,从最右结点开始连续往左删去若干个结点后得到的二叉树是一棵近似满二叉树。因此,在近似满二叉树中,若某个结点没有左儿子,则它一定没有右儿子,即该结点是一个叶结点。图5(c)中,结点F没有左儿子而有右儿子L,故它不是一棵近似满二叉树。

  二叉树的操作
  二叉树的常用操作与树的常用操作相似。

  运算 含义
  Parent(v,T) 这是一个求父结点的函数,函数值为树T中结点v的父亲。当v是根结点时,函数值为∧,表示结点v没有父结点。
  Left_Child(v,T) 这是一个求左儿子结点的函数。函数值为树T中结点v的左儿子。当结点v没有左儿子时,函数值为∧。
  Right_Child(v,T) 这是一个求右儿子结点的函数。函数值为树T中结点v的右儿子。当结点v没有右儿子时,函数值为∧。
  Create(x,Left,Right,T) 这是一个建树过程。该函数生成一棵新的二叉树T,T的根结点v的标号为x,v的左右儿子分别为Left和Right。
  Label(v,T) 这时一个求标号的函数,函数值就是结点v的标号。
  Root(T) 这是一个求树根的函数,函数值为树T的根结点。当T是空树时,函数值为∧。
  MakeNull(T) 这是一个过程,它使T成为一棵空树。

  二叉树的实现
  我们已经看到,虽然二叉树与树很相似,但它却不是树的特殊情形。在许多情况下,使用二叉树具有结构简单,操作方便的优点。另外我们也看到,在树的左儿子右兄弟表示法中,实际上已将一棵一般的树转化为一棵二叉树。在更一般的情形,我们还可以将果园或森林转化为一棵等价的二叉树。下面我们来讨论几种二叉树的表示方法。

  二叉树的顺序存储结构
  此结构是将二叉树的所有结点,按照一定的次序,存储到一片连续的存储单元中。因此,必须将结点排成一个适当的线性序列,使得结点在这个序列中的相应位置能反映出结点之间的逻辑关系。这种结构特别适用于近似满二叉树。

  在一棵具有n个结点的近似满二叉树中,我们从树根起,自上层到下层,逐层从左到右给所有结点编号,就能得到一个足以反映整个二叉树结构的线性序列,如图6所示。其中每个结点的编号就作为结点的名称。

  图6 近似满二叉树的结点编号

  因此,我们可以对树的类型作如下说明:

  TPosition=integer;

  TreeType=record

  NodeCount:integer; {树的总结点数}

  NodeList:array [1..MaxNodeCount] of LabelType; {存储结点的数组}

  end;

  将数组下标作为结点名称(编号),就可将二叉树中所有结点的标号存储在一维数组中。例如,图6中的二叉树的顺序存储结构如图7所示。

  图7 近似满二叉树的顺序存储结构

  在二叉树的这种表示方式下,各结点之间的逻辑关系是隐含表示的。近似满二叉树中,除最下面一层外,各层都充满了结点。可能除最底层外,每一层的结点个数恰好是上一层结点个数的2倍。因此,从一个结点的编号就可推知其父亲,左、右儿子,和兄弟等结点的编号。例如,对于结点i我们有:

  仅当i=1时,结点i为根结点;

  当i>1时,结点i的父结点为i/2;

  结点i的左儿子结点为2i;

  结点i的右儿子结点为2i+1;

  当i为奇数且不为1时,结点i的左兄弟结点为i-1;

  当i为偶数时,结点i的右兄弟结点为i+1。

  由上述关系可知,近似满二叉树中结点的层次关系足以反映结点之间的逻辑关系。因此,对近似满二叉树而言,顺序存储结构既简单又节省存储空间。

  对于一般的二叉树,采用顺序存储时,为了能用结点在数组中的位置来表示结点之间的逻辑关系,也必须按近似满二叉树的形式来存储树中的结点。显然,这将造成存储空间的浪费。在最坏情况下,一个只有k个结点的右单枝树却需要2k-1个结点的存储空间。例如,只有3个结点的右单枝树,如图8(a)所示,添上一些实际不存在的虚结点后,成为一棵近似满二叉树,相应的顺序存储结构如图8(b)所示。

  图8 一般二叉树的顺序存储结构

  下面我们就用这种顺序存储结构来实现二叉树的常用操作。在这种表示法中,整数0表示空结点∧。对于非近似满二叉树,我们将其补为近似满二叉树,并规定一个特殊的标号&,用来表示补充的结点,&要根据标号的具体类型来确定。

  顺序存储结构实现ADT二叉树的操作

  函数 Parent(v,T);

  功能

  这是一个求父结点的函数,函数值为树T中结点v的父亲。当v是根结点时,函数值为∧,表示结点v没有父结点。

  实现

  Function Parent(v:TPosition;var T:TreeType):TPosition;

  begin

  return(v div 2);

  end;

  说明

  根据这种表示法,我们知道,当i>1时,结点i的父结点为i/2。

  复杂性

  显然为O(1)。

  函数 Left_Child(v,T);

  功能

  这是一个求左儿子结点的函数。函数值为树T中结点v的左儿子。当结点v没有左儿子时,函数值为∧。

  实现

  Function Left_Child(v:TPosition;var T:TreeType):TPosition;

  begin

  if (2*v>T.NodeCount)or(T.NodeList[2*v]=&) then return(0)

  else return(2*v);

  end;

  说明

  如果结点v的左儿子存在,则其下标为2*v。

  复杂性

  显然为O(1)。

  函数 Right_Child(v,T);

  功能

  这是一个求右儿子结点的函数。函数值为树T中结点v的右儿子。当结点v没有右儿子时,函数值为∧。

  实现

  Procedure Right_Child(v:TPosition;var T:TreeType):TPosition;

  begin

  if (2*v+1>T.NodeCount)or(T.NodeList[2*v+1]=&) then return(0)

  else return(2*v+1);

  end;

  说明

  如果结点v的左儿子存在,则其下标为2*v+1。

  复杂性

  显然为O(1)。

  函数 Create(x,Left,Right,T);

  功能

  这是一个建树过程。该函数生成一棵新的二叉树T,T的根结点标号为x,左右儿子分别为Left和Right。

  实现

  Procedure Create(x:LabelType;var Left,Right,T:TreeType);

  begin

  T.NodeList[1]:=x;

  T.NodeCount:=Left.NodeCount+Right.NodeCount+1;

  h_left:=cal(Left.NodeCount);

  h_right:=cal(Right.NodeCount);{分别计算Left和Right的高度}

  if h_left>h_Right then h:=h_left else h:=h_right;{新树T的高度为h+1}

  for i:=Left.NodeCount+1 to (1 shl (h+1))-1 do Left.NodeList[i]:=&;

  Left.NodeCount:=(1 shl (h+1))-1;

  {将Left补成高度为h的满二叉树;其中shl是左移位运算,用来计算2的幂}

  if h_right<h then

  begin

  for i:=Right.NodeCount+1 to (1 shl h)-1 do Right.NodeList[i]:=&;

  Right.NodeCount:=(1 shl h)-1;

  end;

  {若Right的高度小于h,则将Right补成高度为h-1的满二叉树}

  {=======

  对于Left中编号为i的结点v,它在新树T中的编号为2h +i,其中h=log2(i+1)-1 ;对于Right中编号为i的结点v,它在新树T中的编号为2h+1+i,其中h=log2(i+1)-1 。

  =======}

  for i:=1 to Left.NodeCount do

  T.NodeList[(1 shl cal(i))+i]:=Left.NodeList[i];

  {计算出Left中编号为i的结点在T中的位置,将其复制到T中}

  for i:=1 to Right.NodeCount do

  T.NodeList[(1 shl (cal(i)+1))+i]:=Right.NodeList[i];

  {计算出Right中编号为i的结点在T中的位置,将其复制到T中}

  end;

  其中cal(i)用来计算含有i个结点的近似满二叉树T的高度,cal(i)=log2(i+1)-1,可以实现如下:

  Function cal(i:integer;):integer;

  var

  x:real;

  begin

  x:=log2(i+1)-1;

  if x=int(x) then return(x) else return(int(x)+1); {向上取整}

  end;

  其中log2(n)计算实数n以2为底的对数。

  说明

  在顺序存储的结构下,建立一棵新的二叉树的过程比较复杂。我们首先给出以下几个命题:

  命题一

  一棵高度为h的满二叉树有2h+1-1个结点。

  证明:

  满二叉树的第i层有2i个结点,i=0,1,2,...,h(树根为第0层),因此高度为h的满二叉树有20+21+..+2h = 2h+1-1个结点。

  推论一

  我们从树根起,自上层到下层,逐层从左到右给二叉树的所有结点编号,如图6所示,则近似满二叉树的第h层的从左到右第k个结点的编号为2h+k-1。

  证明:

  由于是近似满二叉树,所以第0层到第h-1层是满二叉树,根据命题一知道共有2h-1个结点,因此第h层的从左到右第1个结点的编号为2h-1+1,第h层的从左到右第k个结点的编号为2h-1+k。

  推论二

  一棵有n个结点的近似满二叉树,高度为log2(n+1)-1 ,其中 是天花板符号, x表示大于等于x的最小整数。

  证明:

  有n个结点的近似满二叉树,若其高度为h,则满足2h-1<n≤2h+1-1,化简得 log2(n+1)-1 ≤ h < [log2(n+1)-1]+1,即h=log2(n+1)-1。

  推论三

  在近似满二叉树T中,设编号为i的结点处于T的第h层从左到右第k个位置上,则h=log2(i+1)-1 ,k=i-(2h-1)。

  证明:

  我们先不考虑编号大于i的结点,则前i个结点构成一棵近似满二叉树,根据推论二知其层数为h=log2(i+1)-1 ,又因为第0层到第h-1层是满二叉树,根据命题一知道共有2h-1个结点,所以编号为i的结点处于第h层的第k=i-(2h-1)个位置上。

  我们用T(h,k)表示树T的第h层的第k个结点,则有下列命题:

  命题二

  Left(h,k)=T(h+1,k),Right(h,k)=T(h+1,k+2h),其中Left和Right分别是树T的根结点的左右子树。

  证明:

  显然。

  我们用N(v,T)表示结点v在生成的新树T中的编号,则有下列命题:

  命题三

  对于Left中编号为i的结点v,N(v,T)=2h +i,其中h=log2(i+1)-1 ;对于Right中编号为i的结点v,N(v,T)=2h+1+i,其中h=log2(i+1)-1 。

  证明:


各位老师好,我想请教一下喷塑流水线的问题?
其次,你说的“烘道”应该是指“固化室”。固化室的宽窄、高低与工件的形状、工装方式有关,固化室的长度与产量、工装方式有关。对于粉末涂装来说,不管产量多少,固化室一定要保证固化温度(恒温段)180-220度之间,固化时间15-30分钟之间(不同粉末涂料要求的固化温度和时间不一样)。第三,根据你...

小学三年级数学题请教老师一下
做法1:设十位数字为X,则个位为7-X,此数为10X+7-X,交换后10(7-X)+X,联立方程解决问题.做法2:解:设十位数字为X,则个位为7-X,由题意得10X+7-X-27=10(7-X)+X,18X=90,X=5.个位数字为:7-X=7-5=2.所以原来的两位数是52....

哪位老师知道这题怎么做?请教一下、求答案及解释、答对加分、谢谢!
答案为C。年度终了结帐时,有余额的帐户的余额,直接记入新帐余额栏内即可,不需要编制记帐凭证,也不必将余额再记入本年帐户的借方或贷方(收方或付方),使本年有余额的帐户的余额变为零。由于,既然年末是有余额的帐户,余额就应当如实地在帐户中加以反映,这样更显得清楚、明了。否则,就搅浑了有...

老师您好,我有个问题不懂,向您请教一下。
回答:木块对木板做功的。看木块,木板对木块的支持力垂直于木板,而木块的速度方向并不与木板面垂直,因此木板对木块做功。同样也可以分析,木块对木板做正功。 木块是要一直在木板上运动的,直到木板转到竖直位置

请教各位老师帮忙看一下这幅作品作者的名字叫什么,非常感谢您的来信指...
此画落款是:为鱼虾所误。此画疑为齐白石所作。他1930年作的,款识题为:苦把流光换画禅,功夫深处渐天然。等闲我被鱼虾误,负却龙泉五百年。与此画如出一辙。齐白石(1864年1月1日─1957年9月16日),祖籍安徽宿州砀山,生于湖南长沙府湘潭(今湖南湘潭)。原名纯芝,字渭青,号兰亭。后改名璜...

请教一下老师,我英语基础不好.您能解释下句子成分与结构么?谢谢啦...
请教一下老师,我英语基础不好.您能解释下句子成分与结构么?谢谢啦! 请老师解释得易懂些,谢谢啦!... 请老师解释得易懂些,谢谢啦! 展开  我来答 2个回答 #热议# 职场上受委屈要不要为自己解释?陈才英语教育 2014-02-22 · TA获得超过2.2万个赞 知道大有可为答主 回答量:1.3万 采纳率:...

不好意思,老师,还要向您请教一下,为什么我在SolidWorks装配完成后...
这种情况的出现可能是装配中的一个零件处于编辑状态,关闭编辑就不会出现了,见下图红色框框 要么就是显示模式要更改,见下图

老师你好,有些问题需要请教一下。 1:用什么函数判定每组数据结果是否合 ...
1. 要实现每组数据中有相同规格的 4 个点位,只要 3 个点位 OK 就为合格的功能,可以使用条件计数函数 IF 来实现。具体做法是:将每个点位设置为一个变量,用 IF 函数判断这 4 个点位是否满足 "3 个点位 OK" 的条件,如果满足,则输出合格结果,否则输出不合格结果。例如,在 Excel 中可以使用...

老师您好: 碰到一个题实在不会做,想请教一下您给讲解一下, 已知电源电 ...
解:将电路转化为相量模型,如上图,并设U2(相量)=U2∠0°V,则可定性画出电路的相量图如下:在相量图中,OI1I3构成一个三角形,其中:OI3=2.5,OI1=1.5,I1I3=2。根据余弦定理:1.5²=2²+2.5²-2×2×2.5×cosα,所以:cosα=0.8,α=arccos0.8=36....

老师您好,想请教一下您残幅镜头的等效焦距和虚化的问题
楼主关心的虚化(即浅景深),实际上关系到四项要素,一是光圈(越大虚化越好)、二是焦距(相同光圈下焦距越长越好,比如85mmF1.8优于35mmF1.8)、三是摄距(摄距越近、主体与背景的距离越远,效果越好)、四是像平面。像平面其实就是传感器面积,像平面与弥散圆具有最紧密的关系,弥散圆大小取决...

陇川县17825182805: 各位老师请教一下 200个蛋挞 制作配方的比例是多少? -
宥飘诺和: 200个蛋挞的制作,由于数量较大,设备的限制,需要分批次制作.此次的方案为10个蛋挞为一个批次,假如您没有设备限制的话,在文章的末端我会写出200个蛋挞的制作配方的比例.用料 挞水 牛奶 110克 细砂糖 40克 鸡蛋 1个 蛋黄 1个 淡奶...

陇川县17825182805: 各位老师请教一下,请教一个语法问题
宥飘诺和: 您好,Seeing him makes me angry. 的句子成分是:1)主语 = seeing him(现在分词短语作动名词词组)充当主语,属于非谓语动词范畴2)谓语 = makes(第三人称单数)3)宾语 = me4)宾补 = angry这里的 him 作 see 的宾语,所以使用了 宾格.所以句子简化是:(He) makes me angry.(表示不看到人也生气)(Seeing him) makes me angry.(表示不看到人不生气,一看到人就生气了)

陇川县17825182805: 请教:各位老师帮忙一下请教:幼儿园老师把一些饼干分给小朋友,平均每人得4块,若只分给女生,每人得6块,若只分给男生,每人得几块? -
宥飘诺和:[答案] 12块我是假设有6个人,每人4块就是24块,如果女生4个,每人6块,男生就是2个,每人12块再假设有12个人,每人4块就是48块,女生每人6块就有8个女生,还剩4个男生,每人12块假设的时候饼干总数应该是4和6的公倍数 查看原帖>>

陇川县17825182805: 各位老师,请教一下,采暖炉安装一楼,暖气片安装二楼如何安装?
宥飘诺和: 你把出水口管子接到二楼再接暖气片 排气管在二楼加水斗在二楼 其他按一般安装程序即可

陇川县17825182805: 各位老师请教一下,这个字拼音怎么拼? -
宥飘诺和: 虱子虱(shī)子(zi)

陇川县17825182805: 各位老师请教一下?各位老师请教一下,我家宝宝六个半月了,手脖脚脖
宥飘诺和: 你好,尽量还是带宝宝去医院检查一下比较好,平常的时候也要注意自己的饮食,如果是母乳喂养的话,宝宝不要吃辛辣刺激生冷的食物.

陇川县17825182805: 向各位老师请教一下怎样做笔记???? -
宥飘诺和: 做笔记..一般老师都会把知识构建写在黑板上,那个暂时不用抄,会耽误上课听讲的,其实上课只顾着做笔记对学习不好,只要将老师的重点划记,然后在旁边写下老师说的重点,以及容易错的地方,然后下课后不懂问老师,有时间就抄黑板上的知识构建,一般上课的笔记都没有做题目时老师讲的重要,做完题目,老师讲评,会将理由讲出来,那个时候要打开书做在那个地方或者是题目旁边,要保存好题目,以便以后去复习.

陇川县17825182805: 向各位老师请教一下 -
宥飘诺和: 读教学是小学语文教学的基本环节,阅读教学的主要任务是培养学生的阅读能力和良好的阅读习惯.自己从事小学语文中高年级教学十几年来,认为在语文教学、特别是阅读教学中,朗读和默读是阅读教学中最经常最重要的训练,只有把握住朗...

陇川县17825182805: 各位老师请教一下皮肤深层清洁的方法是什么呀?
宥飘诺和: 1. 将香蕉捣碎,加入牛奶,涂在脸上.20分钟后洗净,可以使你的皮肤细腻光滑. 2. 把鸡蛋清和蜂蜜搅拌均匀后涂在脸上可以使皮肤光滑并减少皱纹. 3. 把姜黄粉末和牛奶混合后涂在脸上可以去除晒斑和减少脸上的汗毛. 4. 麦片,乳酪和西红柿汁搅拌均匀涂在脸上,20分钟之后再用凉水洗干净,可以帮助恢复晒黑的皮肤,使皮肤有光泽. 5. 把生土豆片贴在脸上可以减轻雀斑颜色和疤痕.你可以试试用美肌深海矿物祛角质凝胶,

陇川县17825182805: 各位老师请教一下我想在个人中心里面加载背景音乐,怎么操作,请告知?
宥飘诺和: 设置背景音乐: 在个人中心的留言或个人介绍中,表情前面的符号为插入视频音频,在编辑状态下,把你选择好的音乐地址(点试听,然后复制地址)复制到个人中心上传就可以了.上传音乐,视频,FLASH等的方法基本相同. 自动播放: width=280 height=45 autostart=true 自动播放+循环播放: width=280 height=45 autostart=true loop=true 自动播放+循环播放+隐藏面板: width=0 height=0 autostart=true loop=true 注意: 1.歌曲只适合MP3、WMA、WMV、MID等格式 2.歌曲地址可以替换,别重复了http://

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网