3.3、树

设某二叉树采用二叉链表表示(即结点的两个指针分别指示左、右孩子)。当该二叉树包含k个结点时,其二叉链表结点中必有( )个空的孩子指针。
A. k-1
B. k
C. k+1
D. 2k

正确答案是 C。
解析
二叉树的二叉链表存储结构中每个结点有2个指针。每个结点有0个、1个或者2个空指针对应有2个、1个、0个非空指针。
二叉树中边的个数等于非空指针的个数
假设二叉树中节点的总个数为N
假设二叉树中边的个数为M
假设二叉树中度为0的结点的个数为n0
假设二叉树中度为1的结点的个数为n1
假设二叉树中度为2的结点的个数为n2
所以有nO+n1+n2=N------------(1)
二叉树中除了根结点之外,其他的结点都有一条边进
入该结点,所以二叉树中边的总个数为M=N-1;-----(2)
又 M=n1+2×n2;------------(3)
所以由(1)(2)(3)可得n0=n2+1;— (4)
设空节点的个数为K,则K=2xn0+n1—(5)
结合(1)(4)(5)可以得到K=N+1(空指针的个
数比结点总个数多1)
由(2)可以知道边数M=N-1(二叉树的边数为结点个数减1)
由(4)可以知道度为0的结点的个数(叶子结点个
数)=度为2的结点个数+1(n0=n2+1)

对下面的二叉树进行顺序存储(用数组MEM表示),已知结点A、B、C在MEM中对应元素的下标分别为1、2、3,那么结点D、E、F对应的数组元素下标为( )。
在这里插入图片描述

A. 4、5、6
B. 4、7、10
C. 6、7、8
D. 6、7、14

正确答案是 D。
解析
本题考查数据结构基础知识。二叉树的顺序存储,就是用一组连续的存储单元存放二叉树中的结点;把二叉树的所有结点安排成为一个恰当的序列,反映出结点中的逻辑关系;用编号的方法从树根起,自上层至下层,每层自左至右地给所有结点编号。包括没有对应的左右孩子结点。

已知某二叉树的先序遍历序列为ABCDEF、中序遍历序列为BADCFE,则可以确定该二叉树( )。
A. 是单支树(即非叶子结点都只有一个孩子)
B. 高度为4(即结点分布在4层上)
C. 根结点的左子树为空
D. 根结点的右子树为空

正确答案是 B。
解析
本题考查数据结构基础知识。先序遍历即先根后左子树再右子树,中序遍历为先左子树后根再右子树。先序遍历的最开始结点A即为整棵树的根,结合中序遍历,A结点左侧B即为根节点A的左子树,右侧DCFE则为A的右子树,同理可以得出C为A的右子树的根节点,D为C的左子树,EF为C的右子树,F为E的左子树。可以得到如下图,所以该二叉树的高度为4。
在这里插入图片描述
由图可知,叙述符合的只有B选项,树的高度为4。
C节点有两个孩子,不是单支树A错误。
根节点左右子树都不为空,CD错误。

二叉树如右图所示,若进行顺序存储(即用一维数组元素存储该二叉树中的结点且通过下标反映结点间的关系,例如,对于下标为i的结点,其左孩子的下标为2i、右孩子的下标为2i+1),则该数组的大小至少为(1);若采用三叉链表存储该二叉树(各个结点包括结点的数据、父结点指针、左孩子指针、右孩子指针),则该链表的所有结点中空指针的数目为(2)。
在这里插入图片描述

题目(1)
A. 6
B. 10
C. 12
D. 15
题目(2)
A. 6
B. 8
C. 12
D. 14

正确答案是 D B。
解析
用一维数组元素存储该二叉树中的结点且通过下标反映结点间的关系,实际上存储的是这棵二叉树对应的完全二叉树,因此需要的存储空间为2n-1=15(n为二叉树层数)。如下图所示:
在这里插入图片描述
采用三叉链表存储该二叉树(各个结点包括结点的数据、父结点指针、左孩子指针、右孩子指针);如下图所示:
在这里插入图片描述
某二叉树的先序遍历序列为c a b f e d g,中序遍历序列为a b cd e f g,则该二叉树是( )。
A. 完全二叉树
B. 最优二叉树
C. 平衡二叉树
D. 满二叉树
正确答案是 C。
解析
本题考查数据结构基础知识。
根据题中所给的遍历序列,可知其对应的二叉树如下图所示。
在这里插入图片描述
由图可知,该树不满足完全二叉树和满二叉树,并且,本题没有涉及权值概念,不属于最优二叉树。在图中可以看到,这棵树满足平衡二叉树,因此选择C选项。

设有二叉排序树(或二叉查找树)如下图所示,建立该二叉树的关键码序列不可能是( )。
A. 23 31 17 19 11 27 13 90 61
B. 23 17 19 31 27 90 61 11 13
C. 23 17 27 19 31 13 11 90 61
D. 23 31 90 61 27 17 19 11 13

正确答案是 C。
解析
本题考查的是二叉排序树的构造过程。
构造时,是按给出的关键字序列依次进行构造的。本题由于C序列,在构造过程中,关键字23出现时直接作为根结点,接着输入17,比较后作为左子树根结点,然后输入的是27,此时,27比较后作为右子树的根结点,与题干图示的位置不符,因此C选项错误。

某个二叉查找树(即二叉排序树)中进行查找时,效率最差的情形是该二叉查找树是( )。
A. 完全二叉树
B. 平衡二叉树
C. 单枝树
D. 满二叉树

正确答案是 C。
解析
单枝树时该二叉查找树效率最低。

以下关于哈夫曼树的叙述,正确的是( )。
A. 哈夫曼树一定是满二叉树,其每层结点数都达到最大值
B. 哈夫曼树一定是平衡二叉树,其每个结点左右子树的高度差为-1、0或1
C. 哈夫曼树中左孩子结点的权值小于父节点、右孩子节点的权值大于父节点
D. 哈夫曼树中叶子节点的权值越小则距离树根越远、叶子结点的权值越大则距离树根越近

正确答案是 D。
解析
给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。所以D选项的说法正确。
在构造哈夫曼树的过程中不能保证一定是完全树或是平衡树,因此A、B选项错误,而对于哈夫曼树左右孩子结点的权值之和构造其父结点,因此父结点权值一定大于其左右孩子结点,因此C选项错误。

当二叉数中的结点数目确定时,( )的高度一定是最小的。
A. 二叉排序树
B. 完全二叉树
C. 线索二叉树
D. 最优二叉树

正确答案是 B。
解析
本题考查的是各类二叉树的基本特性。
A、排序二叉树可能会得到单枝树,每一层只有1个结点,此时树的高度可能最大。
B、完全二叉树是让二叉树的每一层的结点都尽可能全满,除了最底层,此时树的高度一定是最小的。本题选择B选项。
C、线索二叉树与二叉树遍历序列相关,高度并没有确定性。
D、最优二叉树与结点的权值相关,构成的树的高度也是不确定的。

设m和n是某二叉树上的两个结点,中序遍历时,n排在m之前的条件是( )。
A. m是n的祖先结点
B. m是n的子孙结点
C. m在n的左边
D. m在n的右边

正确答案是 D。
解析
中序的标准就是左根右。
只要n在m的左边,那么遍历出来的结果中n就在m的前面。

以下关于m阶B-树的说法中,错误的是( )。
A. 根结点最多有m棵子树
B. 所有叶子结点都在同一层次上
C. 结点中的关键字有序排列
D. 叶子结点通过指针链接为有序表

正确答案是 D。
解析
叶子结点本身依关键字的大小自小而大顺序链接,所以D是错误的。

一个高度为h的满二叉树的结点总数为2h-1,从根结点开始,自上而下、同层次结点从左至右,对结点按照顺序依次编号,即根结点编号为1,其左、右孩子结点编号分别为2和3,再下一层从左到右的编号为4、5、6、7,依此类推。那么,在一棵满二叉树中,对于编号为m和n的两个结点,若n=2m+1,则( )。
A. m是n的左孩子
B. m是n的右孩子
C. n是m的左孩子
D. n是m的右孩子

正确答案是 D。
解析
由于该二叉树为满二叉树,除最后一层无任何子节点外,每一层上的所有结点都有两个子结点(最后一层上的无子结点的结点为叶子结点)。满二叉树的性质可知父结点m和右孩子n之间的关系式n=2m+1。

已知树T的度为4,且度为4的结点数为7个、度为3的结点数为5个、度为2的结点数为8个、度为1的结点数为10个,那么T的叶子结点个数为( )。(注:树中结点个数称为结点的度,结点的度中的最大值称为树的度。)
A. 30
B. 35
C. 40
D. 49

正确答案是 C。
解析
本题考查的是二叉树特性。
假设度为4的结点个数记作n4,度为3的结点个数记作n3,度为2的结点个数记作n2,度为1的结点个数记作n1,度为0的结点个数记作n0。
此时结点总数为n4+n3+n2+n1+n0,每个结点可以根据树枝找到其父节点,除了根,所以此时树枝的数量为n4+n3+n2+n1+n0-1。
又因为度与树枝的定义,树枝的个数又可以计算为:4n4+3n3+2n2+1n1+0n0。
综上可得n4+n3+n2+n1+n0-1=4
n4+3n3+2n2+1n1
+0
n0,此时n4=7,n3=5,n2=8,n1=10,代入表达式计算可得,n0=40,本题选择C选项。

已知一个文件中出现的各字符及其对应的频率如下表所示。采用Huffman编码,则该文件中字符a和c的码长分别为(1)。若采用Huffman编码,则字序列“110001001101”的编码应为(2)。
在这里插入图片描述

题目(1)
A. 1和3
B. 1和4
C. 3和3
D. 3和4
题目(2)
A. face
B. bace
C. acde
D. fade

正确答案是 A A。
解析
本题考查哈夫曼树的构造问题。
根据题中表格字符构造出如下的哈夫曼树。
在这里插入图片描述
根据哈夫曼树可得:图中a的长度为1,c的长度为3,答案选A。
而对于字序列“110001001101”编码应该为face。答案选A。

二叉树的高度是指其层数,空二叉树的高度为0,仅有根结点的二叉树高度为1,若某二叉树中共有1024个结点,则该二叉树的高度是整数区间( )中的任一值。
A. (10, 1024)
B. [10, 1024]
C. (11, 1024)
D. [11, 1024]

正确答案是 D。
解析
本题考查关于二叉树的构造问题。
根据题干描述,空二叉树的高度为0,仅有根结点的二叉树高度为1,若某二叉树中共有1024个结点,求其取值范围?
我们不妨求出取值范围的极限值,当1024个结点都为根结点的时候,表示1024个二叉树高度为1,高度累计为1024,区间能够取到1024,属于闭区间,排除A,C。
再求出其最小值的情况,最小值应该是按照满二叉树进行排列,对于二叉树的规律如下:第一层的结点树20=1,第二层21=2,第3层22=4,依次类推。对于1024而言,210=1024,所以我们不能取到11层,应该先取到第10层29=512,此时10层共累计的结点有:20+21+…+29=1023,距离1024还缺少1个结点,只能存放到第11层,第11层仅有1个结点,但是它的层次已经到了11层,所以能取到11,属于闭区间,排除B选项,故表达式取值范围应该是[11,1024]。
综上所述,本题选D。

对于一棵树,每个结点的孩子结点个数称为结点的度,结点度数的最大值称为树的度。某树T的度为4,其中有5个度为4的结点,8个度为3的结点,6个度为2的结点,10个度为1的结点,则T中的叶子结点个数为( )。
A. 38
B. 29
C. 66
D. 57

正确答案是 A。
解析
本题考查树的性质。
在树的性质中永远存在,边+1=结点
根据题目描述设叶子节点个数为x,则可得出下方等式
54+83+62+101+1=5+8+6+10+x
得出x=38

以下关于Huffman(哈夫曼)树的叙述中,错误的是( )。
A. 权值越大的叶子离根结点越近
B. Huffman(哈夫曼)树中不存在只有一个子树的结点
C. Huffman(哈夫曼)树中的结点总数一定为奇数
D. 权值相同的结点到树根的路径长度一定相同

正确答案是 D。
解析
本题考查的是哈夫曼树相关知识。
根据哈夫曼树的构造过程,权值越大的叶子结点选择越靠后也就离根越近,A选项描述正确。
每一次构造都会选择两个权值,所以哈夫曼树中不存在只有一个子树的结点,B选项描述正确。
二叉树存在一个特定度为0的结点(叶子结点)记作n0,度为2的结点记作n2,满足n2+1=n0。哈夫曼树只有度为0和度为2的结点,二者必定差值为1,因此,结点总数即二者之和n0+n2=(n2+1)+n2=2n2+1时,必定为奇数,所以C选项正确。
对于D选项,权值相同的结点可能会因为构造的形态不同,导致构造结果不一样,权值不一样,所以描述是错误的。本题选择错误的描述,因此选择D选项。

具有3个结点的二叉树有5种,可推测出具有4个结点的二叉树有( )种。
A. 10
B. 11
C. 14
D. 15

正确答案是 C。
解析
本题考查数据结构-二叉树相关知识。
题干给出具有3个结点的二叉树有5种,多增加一个根结点之后,可以有左右不同的3结点二叉树,所以左右分别有单个3结点子树的二叉树有2*5=10种;除此之外,3个结点可以构造成2结点子树和单结点子树,所有不同共有4种。
综上,具有4个结点的二叉树有14种。也可以使用公式计算,
在这里插入图片描述
这是1个求和公式。
N=0,是空树,只有1种形态,即A[O]=1。
N=1,是单结点树,只有1种形态。即A[1]=1。
当N>=2时,A[N]是对A[N]A[N-M-1],M从O~N-1的求和。
如:
当N=2时,M=0N-1=01,
A[2]=A[0]×A[2-0-1]+A[1]×A[2-1-1]=A[0]×A[1]+A[1]×
A[0]=2,即A[2]=2。
当N=3时,M=0N-1=02,
A[3]=A[0]×A[3-0-1]+A[1]×A[3-1-1]+A[2]×A[3-2-1]
=A[0]×A[2]+A[1]×A[1]+A[2]A[0]=1×2+1×1+2×1=5,
即A[3]=5。
当N=4时,M=0N-1=03,
A[4]=A[0]×A[4-0-1]+A[1]×A[4-1-1]+A[2] ×A[4-2-1]+A. [3] ×A[4-3-1]
=A[0]×A[3]+A[1]×A[2]+A[2]×A[1]+A[3]A[0]= 1×5+1×2+2×1+5×1=14,即A[4]=14。

若某文件系统的目录结构如下图所示,假设用户要访问文件book2.doc,且当前工作目录为MyDrivers,则该文件的绝对路径和相对路径分别为( )。
在这里插入图片描述
A. MyDrivers\user2\和\user2
B. \MyDrivers\user2\和\user2
C. \MyDrivers\user2\和user2
D. MyDrivers\user2\和user2\

正确答案是 C。
解析
本题考查树形目录结构。
绝对路径:是从根目录开始的路径,以“\”代表根目录;
相对路径:是从当前路径开始的路径。

某二叉树的中序、先序遍历序列分别为{20,30,10,50,40}、{10,20,30,40,50},则该二叉树的后序遍历序列为( )。
A. 50, 40, 30, 20, 10
B. 30, 20, 10, 50, 40
C. 30, 20, 50, 40, 10
D. 20, 30, 10, 40, 50

正确答案是 C。
解析
本题考查数据结构二叉树遍历相关知识。
根据中序遍历和先序遍历,可以反向构造出这棵二叉树如下:
在这里插入图片描述
其后序遍历为30,20,50,40,10,即C选项。

某树共有n个结点,其中所有分支结点的度为k(即每个非叶子结点的子树数目),则该树中叶子结点的个数为( )。
A. [n (k+1) -1]/k
B. [n(k+1)+1]/k
C. [n(k-1)+1]/k
D. [n (k-1) -1]/k

正确答案是 C。
解析
本题考查数据结构树的结点相关知识。
本题可以画一棵简单的树验证4个选项,比如,以2个结点的树来看:
在这里插入图片描述
结点总数n=2,非叶子结点的子树数目为k=1,叶子结点的个数应该为1,带入4个选项验证(n=2,k=1,验算表达式是否结果为1即可):
A:(2×2-1)/1=3;B选项(2×2+1)/1=5;C选项
(2x0+1)/1=1;D选项(2x0-1)/1=-1。因此本题选择C选项。

已知某文档包含5个字符,每个字符出现的频率如下表所示。采用霍夫曼编码对该文档压缩存储,则单词“cade”的编码为(1),文档的压缩比为(2)。
题目(1)
A. 1110110101
B. 1100111101
C. 1110110100
D. 1100111100
题目(2)
A. 20%
B. 25%
C. 27%
D. 30%

正确答案是 A C。
解析
本题考查最优二叉树知识。
根据题干,可以先构造出如下哈夫曼树:
在这里插入图片描述
对应c的编码111,a的编码0,d的编码110,e的编码101,第一空选择A选项。
压缩前,若要表示5个不同的字符,用二进制编码至少需要3位二进制,即每位字符占据空间3bit,平均字符长度为:
3×40%+3×10%+3×20%+3×16%+3×14%=3;
压缩后,这5个字符的编码长度分别为1、3、3、3、3,平均编码长度为:
1×40%+3×10%+3×20%+3×16%+3×14%=2.2;压缩比为(3-2.2)/3=27%。

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1 目标检测的定义 目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。 目标检测任务可分为两个关键的子任务,目标定位和目标分类。首先检测图像中目标的位置(目标定位),然后给出每个目标的具体类别(目标分类)。输出结果是一个边界框(称为Bounding-box,一般形式为(x1,y1,x2,y2),表示框的左上角坐标和右下角坐标),一个置信度分数(Confidence Score),表示边界框中是否包含检测对象的概率和各个类别的概率(首先得到类别概率,经过Softmax可得到类别标签)。 1.1 Two stage方法 目前主流的基于深度学习的目标检测算法主要分为两类:Two stage和One stage。Two stage方法将目标检测过程分为两个阶段。第一个阶段是 Region Proposal 生成阶段,主要用于生成潜在的目标候选框(Bounding-box proposals)。这个阶段通常使用卷积神经网络(CNN)从输入图像中提取特征,然后通过一些技巧(如选择性搜索)来生成候选框。第二个阶段是分类和位置精修阶段,将第一个阶段生成的候选框输入到另一个 CNN 中进行分类,并根据分类结果对候选框的位置进行微调。Two stage 方法的优点是准确度较高,缺点是速度相对较慢。 常见Tow stage目标检测算法有:R-CNN系列、SPPNet等。 1.2 One stage方法 One stage方法直接利用模型提取特征值,并利用这些特征值进行目标的分类和定位,不需要生成Region Proposal。这种方法的优点是速度快,因为省略了Region Proposal生成的过程。One stage方法的缺点是准确度相对较低,因为它没有对潜在的目标进行预先筛选。 常见的One stage目标检测算法有:YOLO系列、SSD系列和RetinaNet等。 2 常见名词解释 2.1 NMS(Non-Maximum Suppression) 目标检测模型一般会给出目标的多个预测边界框,对成百上千的预测边界框都进行调整肯定是不可行的,需要对这些结果先进行一个大体的挑选。NMS称为非极大值抑制,作用是从众多预测边界框中挑选出最具代表性的结果,这样可以加快算法效率,其主要流程如下: 设定一个置信度分数阈值,将置信度分数小于阈值的直接过滤掉 将剩下框的置信度分数从大到小排序,选中值最大的框 遍历其余的框,如果和当前框的重叠面积(IOU)大于设定的阈值(一般为0.7),就将框删除(超过设定阈值,认为两个框的里面的物体属于同一个类别) 从未处理的框中继续选一个置信度分数最大的,重复上述过程,直至所有框处理完毕 2.2 IoU(Intersection over Union) 定义了两个边界框的重叠度,当预测边界框和真实边界框差异很小时,或重叠度很大时,表示模型产生的预测边界框很准确。边界框A、B的IOU计算公式为: 2.3 mAP(mean Average Precision) mAP即均值平均精度,是评估目标检测模型效果的最重要指标,这个值介于0到1之间,且越大越好。mAP是AP(Average Precision)的平均值,那么首先需要了解AP的概念。想要了解AP的概念,还要首先了解目标检测中Precision和Recall的概念。 首先我们设置置信度阈值(Confidence Threshold)和IoU阈值(一般设置为0.5,也会衡量0.75以及0.9的mAP值): 当一个预测边界框被认为是True Positive(TP)时,需要同时满足下面三个条件: Confidence Score > Confidence Threshold 预测类别匹配真实值(Ground truth)的类别 预测边界框的IoU大于设定的IoU阈值 不满足条件2或条件3,则认为是False Positive(FP)。当对应同一个真值有多个预测结果时,只有最高置信度分数的预测结果被认为是True Positive,其余被认为是False Positive。 Precision和Recall的概念如下图所示: Precision表示TP与预测边界框数量的比值 Recall表示TP与真实边界框数量的比值 改变不同的置信度阈值,可以获得多组Precision和Recall,Recall放X轴,Precision放Y轴,可以画出一个Precision-Recall曲线,简称P-R
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yoyo勰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值