ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

六个问题搞懂数据结构中的树的分支

2021-11-04 15:01:03  阅读:604  来源: 互联网

标签:结点 六个 减去 编号 搞懂 数据结构 节点 就是 分支


几个问题:树按如下编号

1.寻找父节点:一个完全k叉树,如果一个节点的编号是i,求它的父节点的编号(如果有父节点的话)

先来看答案 如果是一个结点的孩子结点中的最大结点,那么最大节点编号减去根节点编号除以分支度数就是组数

这个问题搞明白后有利于对树的进一步认知,就拿这个图来说吧,

(图源https://www.icode9.com/i/l/?n=20&i=blog/1751378/202005/1751378-20200505121616181-675919960.png)

编号5,5-1  /2=2,这就是父节点的编号了。这是怎么个原理?

减去根结点,然后剩下的就是k的整数倍了。当减去后的结点编号为k的时候,整数倍是1,这就是根结点延申出来的k个结点,因而父节点编号为1

然后,2k呢,第一个根结点延申出来k个,然后第二个结点延申出来k个,所以2k就是编号2的组别,那么一切就都可以解释了。

树就是前置结点不断延伸出后置结点的过程,所以说,第一个结点延申出了k个结点,[2,k+1]就是第一个结点延伸出来的结点,然后这组结点继续延申 2延伸出了[k+2,2k+1],3延伸出了[2k+2,3k+1],依次类推,如果是第Q个父节点,它延申出的组就是[(Q-1)*K+2,Q*K+1]

为了清晰可见和美观,我们把它画成了一棵树的结构。

回到问题原点 父节点的编号是啥, 如果最右边的孩子,就是 i-1/k  如果是最左边的孩子,那么就是 i+(k-1)-1/k  不难推到,这玩意都是在同一个整数范围内的,那就向下取整即可。

那么同样的,我们来看第二个问题

2.编号为P的结点的第i个孩子的编号是什么(如果有孩子)

那么 很显然 同样的,编号p前面的所有前置结点都已经延伸完毕,所以此刻共有结点k(p-1)+1个,那么如果i是第k个孩子,那么编号就是kp+1了,不是的话,那就k(p-1)+1+i了

3.编号为p的结点有右兄弟的条件是什么,其右兄弟的编号是什么?

理解了上面所说了,下面这些题都易如反掌了,很简单,不是最右孩子即可,就是说 p-1/k不是整数即可,编号就是p+1.

4.一棵度为k的树中有n1个度为1的结点,n2个度为2的结点,...,nk的度为k的结点,问该树中有多少个叶子结点。

根据树的定义,除了根结点,每个结点都只有一个前驱结点,每个节点与指向它的分支一一对应,所以除了树根结点之外的所有结点数等于所有结点的分支数即度数。那么这也就是说,树的结点数等于所有结点的度数+1,总结点数为

N1+2n2+3n3+4n4+knk+1;那么叶子节点是啥呢。

度为0的结点数就是叶子结点的数目。所以就是总结点数减去所有度不为0的结点数的综合所以再减去n1,n2,n3,n4,...,nk。

重点概念就是 :结点数等于分支数+1.

5.n个结点的树中,只有度为K的分支结点和度为0的叶子结点。求该树含有的叶子节点数目。

除了树根结点之外的所有结点数等于所有结点的分支数即度数。那么这也就是说,树的结点数等于所有结点的度数+1.

N=1+kNk

如此就得出 n-1/k=Nk,那么叶子结点就是结点总数减去度为K的分支结点数。

6.n个结点的k叉树,能达到的最大深度和最小深度。

最大深度,单支树,深度n

最小深度,满k叉树,深度为 logk(n(k-1)+1)

知识瀚若烟海,学习知识的乐趣在于分享,让我们一起在代码路上越走越远吧

标签:结点,六个,减去,编号,搞懂,数据结构,节点,就是,分支
来源: https://blog.csdn.net/qq_54151629/article/details/121142318

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有