- 浏览: 63061 次
- 性别:
- 来自: 北京
最新评论
有12345个结点的满3叉数的高度为_____写出计算过程
1 层:1 节点数:1
/ | \
2 3 4 层:2 节点数:3
/ | \ / | \ / | \
5 6 7 8 9 10 11 12 13 层:3 节点数:9
满三叉树每层节点数目
假设k-1层有n个节点 那么第k层就应该有3n个节点。也就是说这是一个首项是1,公比是3的等比数列。第n层节点数an可以表示为
an=a1*q^(n-1) = 1*3(n-1) = 3^(n-1)
满三叉树总的节点数目
总的节点数目就是对各层节点数目求和,每层的节点数目计算公式已经有了。然后就是公比数列求和就行了。一个高位n的满三叉树总节点个数
sn = a1*(1-q^n)/(1-q) = 1*(1-3^n)/(1-3) = (3^n-1)/2
其实有了这个公式这题就可以做了,可以估计一下。求得一个n和n+1让12345在sn和sn'之间就行了。
下面给出一个较为严格的推导。
....
/.......\
(3^(k-1)-1)/2 层:k-1
/ \
(3^(k-1)+1)/2 (3^k-1)/2 层:k
设一个有n层的满三叉树的节点总数为n,那么
(3^(k-1)+1)/2 <= n <= (3^k-1)/2
3^(k-1)+1 <= 2n
3^k-1 >= 2n
k <= log3(2n - 1) - 1
k >= log3(2n + 1)
对k向下取整就行了。
1 层:1 节点数:1
/ | \
2 3 4 层:2 节点数:3
/ | \ / | \ / | \
5 6 7 8 9 10 11 12 13 层:3 节点数:9
满三叉树每层节点数目
假设k-1层有n个节点 那么第k层就应该有3n个节点。也就是说这是一个首项是1,公比是3的等比数列。第n层节点数an可以表示为
an=a1*q^(n-1) = 1*3(n-1) = 3^(n-1)
满三叉树总的节点数目
总的节点数目就是对各层节点数目求和,每层的节点数目计算公式已经有了。然后就是公比数列求和就行了。一个高位n的满三叉树总节点个数
sn = a1*(1-q^n)/(1-q) = 1*(1-3^n)/(1-3) = (3^n-1)/2
其实有了这个公式这题就可以做了,可以估计一下。求得一个n和n+1让12345在sn和sn'之间就行了。
下面给出一个较为严格的推导。
....
/.......\
(3^(k-1)-1)/2 层:k-1
/ \
(3^(k-1)+1)/2 (3^k-1)/2 层:k
设一个有n层的满三叉树的节点总数为n,那么
(3^(k-1)+1)/2 <= n <= (3^k-1)/2
3^(k-1)+1 <= 2n
3^k-1 >= 2n
k <= log3(2n - 1) - 1
k >= log3(2n + 1)
对k向下取整就行了。
发表评论
-
求链表中间节点的值,检测链表的环
2012-07-27 14:19 852求链表中间节点的值,检测链表的环 int loop(st ... -
实习前记
2012-07-16 15:27 757经过回来一周的找工作,总体感觉就是很累啊,每天东跑西颠的。面了 ... -
php函数参数列表
2012-05-11 16:50 1429[size=medium] 1.直接传值 function ... -
php的ob_flush和flush
2012-05-10 21:20 1107php.ini中 output_buffering = of ... -
php读文件的4中方法。
2012-05-10 20:38 906fopen $fp = fopen("downl ... -
百度笔试算法题一道。
2012-05-10 15:02 985一个数组a[0-n-1],a[0-mid]和a[mid+1-n ... -
自己实现php UTF8中文字符串截取
2012-05-09 11:38 2881header("Content-type: te ... -
C与C++动态分配,释放内存的区别
2012-05-08 17:30 160611. malloc()函数 1.1 malloc的 ... -
nginx rewrite
2012-05-04 11:23 0http://blog.cafeneko.info/2010/ ... -
php magic method
2012-05-04 11:16 897php的魔术方法总结 php的魔术方法都是和类有关的。 ... -
诡异的 shell 08 bug
2012-04-30 01:11 771v=08 echo $v shell里以0开头的都会把它当作8 ... -
排序相关
2012-04-22 16:01 0排序分类 内排序: 交换式排序: ... -
php string
2012-04-22 11:33 971一.字符串类型 php一共有8中数据类型 ... -
简单的树的递归、非递归创建,前序中序后序遍历
2012-04-21 10:03 1071c语言写着还挺带感 #in ... -
php 深度优先递归输出路径下所有文件
2012-04-19 21:27 1524<?php $dir = " ... -
简单的栈
2012-04-19 21:14 705#include <stdio.h> #de ... -
简单的循环队列
2012-04-19 21:13 805#include <stdlib.h> ... -
单链表删除一个节点
2012-04-19 21:10 9853有头结点的情况,附加一个逆置 #include <s ... -
KMP与BF,实现了一个非主流next函数
2012-04-19 20:16 929#include <stdlib.h> #i ... -
ip过滤问题
2012-03-22 21:09 0假设有很多段ip段属于教育网的,如何尽快辨别一用户ip是否属于 ...
相关推荐
### 三叉树的概念 三叉树是一种扩展了二叉树概念的数据结构,它允许每个节点最多有三个子节点,分别是左子节点、中子节点和右子节点。与二叉树不同的是,三叉树的节点不再是只有左右之分,而是多了一个中间分支。...
2. **合并**:每次从集合中选择三个权值最小的树,并创建一个新的三叉树,其中新树的根节点权值等于这三棵树根节点权值之和,这三棵树分别成为新树的左、中、右子树。 3. **迭代**:重复上述步骤,直到集合中只剩下...
【免费题库】华为OD机试 - 计算三叉搜索树的高度(Java & JS & Python & C & C++).html
1. 较低的最坏高度:通过三叉树的结构,CBTT的树高相比于其他有序数据结构有显著降低,这有助于减少查找时所需的比较次数。 2. 易于实现区间操作:三叉树结构使得执行范围查找等操作更为方便。 3. 结构稳定性好:...
9. **三叉树高度**:一棵有40个节点的三叉树的最小高度是log3(40)+1,约为4.6,向上取整为5,选项C正确。 10. **顺序栈**:如果元素出栈顺序为s2, s3, s4, s6, s5, s1,说明在s6出栈前s5不能出栈,因此顺序栈至少...
华为OD正版题库,CD卷,2024原题库。超低价可下载包含多种代码和解析,不用购买高价的专栏,任何问题可私信
### 数据结构源码之二叉树的三叉链表 #### 一、三叉链表的概念与实现 在计算机科学中,二叉树是一种常用的数据结构。传统的二叉树节点通常包含两个指针:分别指向左子节点和右子节点。而三叉链表则在此基础上增加...
私信博主获取三天体验卡,免费看所有华为OD真题、考试报告、手撕代码、面试记录
- **答案**: 当三叉树高度为3时,最多有 \(1 + 3 + 9 = 13\) 个节点;当高度为4时,最多有 \(13 + 27 = 40\) 个节点;当高度为5时,最多有 \(40 + 81 > 50\) 个节点。因此,该树的最小高度为5。正确选项是C。 ### ...
查询节点信息的函数可能包括查找特定值的节点,或者获取节点的深度、高度等信息: ```c Node* search(Node* root, int value) {...} int depth(Node* root) {...} ``` 修改节点信息的函数需要找到指定节点并更新其...
设某棵三叉树中有40个结点,求该三叉树的最小高度。 **解答**: 对于一棵三叉树,当它是一棵满三叉树时,高度是最小的。一个满三叉树的高度\(h\)和节点数\(n\)之间的关系可以用以下公式表示: \[ n = 1 + 3 + 3^2 +...
对于度数限制为2或0的二叉树,最少节点数是2^h - 1,而对于三叉树,这个公式变为3^h - 1,所以对于244个节点的完全三叉树,高度h = 6。 问题6.9提到的二叉树的后序遍历可以用于节点编号,因为它保证了每个节点的...
例如,一个有244个结点的完全三叉树的高度可通过迭代求解。 4. **二叉树高度**:对于具有1025个结点的二叉树,其高度h可能在11至1025之间,因为二叉树至少需要1层(1个结点)达到1025个结点,而最坏情况下(完全...
- 类似二叉树,三叉树也有类似的性质,例如高度为h的完全三叉树结点总数和度为m的结点数量的关系。 9. **二叉树和对应树的遍历关系**: - 树的后根遍历与对应的二叉树的中根遍历相同。 10. **特殊二叉树的构造**...
7. **三叉树**:三叉树是每个节点最多有三个子节点的树,其性质类似于二叉树,但节点度可以是0、1、2或3。 8. **树的遍历**:树的遍历包括先根遍历(根-左-右)、后根遍历(左-右-根)和中根遍历(左-根-右)。对于...
11. **树的存储结构**:树可以使用链式存储(如二叉链表、三叉链表)或顺序存储结构来实现。对于非递归的后序遍历,三叉链表可以简化算法实现。 12. **满二叉树和完全二叉树**:满二叉树是所有层都完全填充的二叉树...
- **三叉树(Ternary Tree)**:每个节点最多有三个子节点。 - **N叉树(N-ary Tree)**:每个节点最多有N个子节点,N可以是任意自然数。 #### 三、树的表示方法 树可以通过多种方式来表示,包括但不限于: - **图形...