网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

此处规定二叉树中,左子节点与右子节点地位不同(即某个父节点只有一个子节点时,也要区分它是左子节点还是右子节点)。对于一些正整数,我们规定一种构造树的方法,符合以下规则: 1,所有父节点的值不比它的所有子节点大; 2,左子节点的值不大于右子节点(若有的话)。 定义一个函数c(n),为按照上述方法对1至n这n个不同正整数构建符合规则的树的方法数。 问c(1), c(2), c(3), c(4)的值。

A.1,1,2,3

B.1,1,2,4

C.1,2,4,8

D.1,2,5,14


参考答案和解析
错误
更多 “此处规定二叉树中,左子节点与右子节点地位不同(即某个父节点只有一个子节点时,也要区分它是左子节点还是右子节点)。对于一些正整数,我们规定一种构造树的方法,符合以下规则: 1,所有父节点的值不比它的所有子节点大; 2,左子节点的值不大于右子节点(若有的话)。 定义一个函数c(n),为按照上述方法对1至n这n个不同正整数构建符合规则的树的方法数。 问c(1), c(2), c(3), c(4)的值。A.1,1,2,3B.1,1,2,4C.1,2,4,8D.1,2,5,14” 相关考题
考题 下面关于哈夫曼树的叙述中,正确的是()A.哈夫曼树一定是完全二叉树B.哈夫曼树一定是平衡二叉树C.哈夫曼树中权值最小的两个节点互为兄弟节点D.哈夫曼树中左孩子节点小于父节点、右孩子节点大于父节点

考题 varnode=dataTree.findNode(li:first-child);是什么意思()A、获得id是child的节点对象B、获取first父对象的所有子对象C、获得所有子节点D、获得根节点

考题 阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。【说明】函数DeleteNode(Bitree*r,inte)的功能是:在树根节点指针为r的二叉查找(排序)树上删除键值为e的节点,若删除成功,则函数返回0,否则函数返回-1。二叉查找树节点的类型定义为:typedef struct Tnode{int data;/*节点的键值*/struct Tnode *Lchild,*Rchiid;/*指向左、右子树的指针*/}*Bitree;在二叉查找树上删除一个节点时,要考虑3种情况。①若待删除的节点p是叶子节点,则直接删除该节点。②若待删除的节点p只有一个子节点,则将这个子节点与待删除节点的父节点直接连接,然后删除节点。③若待删除的节点p有两个子节点,则在其左子树上,用中序遍历寻找关键值最大的节点 s,用节点s的值代替节点p的值,然后删除节点s,节点s必属于上述①、②情况之一。【函数5-5】int DeleteNode(Bitree *r,int e){Bitree p=*r,pp,s,c;while( (1) {/*从树根节点出发查找键值为e的节点*/pp=p;if(e<p->data)p=p->Lchild;else p=p->Rehild;}if(!p)retrn -1;/*查找失败*/if(p->Lchild p->Rchild){/*处理情况③*/s=(2); pp=p;while( (3)){pp=s;s=s->Rchild;}p->data=s->data;p=s;}/* 处理情况①、②*/if((4))c=p->Lchild;else c=p->Rchild;if(p== *r)*r=c;else if((5))pp->Lchild=c;else pp->Rchild=c;free(p);return 0;}

考题 决策树的父节点和子节点的熵的大小关系是什么()A.决策树的父节点更大B.子节点的熵更大C.两者相等D.根据具体情况而定

考题 一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为A.4B.6C.10D.16

考题 阅读以下函数说明和C代码,将C程序中(1)~(5)空缺处的内容补充完整。【说明】对给定的字符集合及相应的权值,采用哈夫曼算法构造最优二叉树,并用结构数组存储最优二叉树。例如,给定字符集合{a,b,c,d}及其权值2、7、4、5,可构造如图6-15所示的最优二叉树,以及相应的结构数组Ht(如表6-14所示,其中数组元素Ht[0]不用)。结构数组Ht的类型定义如下:define MAXLEAFNUM 20struct node{char ch; /*扫当前节点表示的字符,对于非叶子节点,此域不用*/Int weight; /*当前节点的权值*/int parent; /*当前节点的父节点的下标,为0时表示无父节点*/int lchild, rchild;/*当前节点的左、右孩子节点的下标,为0时表示无对应的孩子节点*/)Ht[2*MAXLEAFNUM];用“0”或“广标识最优二叉树中分支的规则是:从一个节点进入其左(右)孩子节点,就用“0”(或“1”)标识该分支,如图6-15所示。若用上述规则标识最优二叉树的每条分支后,从根节点开始到叶子节点为止,按经过分支的次序将相应标识依次排列,可得到由“0”、“1”组成的一个序列,称此序列为该叶子节点的前缀编码。例如,图6-15所示的叶子节点a、b、c、d的前缀编码分别是110、0、111、10。函数void LeafCode(int root,int n)的功能是:采用非递归方法,遍历最优二叉树的全部叶子节点,为所有的叶子节点构造前缀编码。其中,形参root为最优二叉树的根节点下标;形参n为叶子节点个数。在函数void LeafCode(int root,int n)构造过程中,将Ht[p].weight域用做被遍历节点的遍历状态标志。函数void Decode(char *buff,int root)的功能是:将前缀编码序列翻译成叶子节点的字符序列,并输出。其中,形参root为最优二叉树的根节点下标;形参buff指向前缀编码序列。【函数4.1】char **HC;void LeafCode(int root, int n){ /*为最优二叉树中的n个叶子节点构造前缀编码,root是树的根节点下标*/int I,p=root,cdlen=0;char code[20];Hc = (char **)malloc((n+1)*sizeof(char *)); /*申请字符指针数组*/For(i = 1;i<= p;++I)Ht [i]. weight = 0; /*遍历最优二叉树时用做被遍历节点的状态标志* /While (p) { /*以非递归方法遍历最优二叉树,求树中每个叶子节点的编码*/If(Ht[p].weight == 0) { /*向左*/Ht[p].weight = 1;If(Ht[p].lchild != 0) {p = Ht[p].lchild;code[cdlen++] = '0';}else if(Ht[p].rchild == 0) { /*若是叶子节点,则保存其前缀编码*/Hc[p] = (char *)malloc((cdlen+1)*sizeof(char));(1);strcpy (Hc [p],code);}}else if(Ht[p].weight == 1) { /*向右*/Ht [p].weight = 2;If(Ht[p].rchild != 0) {p = Ht [p].rchild;code[cdlen++] ='1';}}else { /*Ht[p].weight == 2,回退/Ht [p].weight = 0;p =(2);(3); /*退回父节点*/}} / *while .结束* /}【函数4.2】void Decode(char *buff,int root){ int pre = root,p;while(*buff != '\0') {p = root;&

考题 若二叉树的前序遍历序列与中序遍历序列相同且树中节点数大于1,则该二叉树的______。A.只有根节点无左予树B.只有根节点无右子树C.非叶子节点只有左子树D.非叶子节点只有右子树A.B.C.D.

考题 如果二叉树中任何二个节点的值都大于它的左子树上所有节点的值而小于右子树上所有节点的值,要得到各节点值的递增序列,应按下列哪种次序排列节点?A.先根B.中根C.后根D.层次

考题 若一棵二叉树中只有叶节点和左、右子树皆非空的节点,设叶节点的个数为1,则左、右子树皆非空的节点个数为【 】。

考题 如果二叉树中任何一个节点的值都大于它的左子树上所有节点的值而小于右子树上所有节点的值,要得到各节点值的递增序列,应按下列哪种次序排列节点?A.先根B.中根C.后根D.层次

考题 在完全二叉树中,若一个节点是叶节点,则它没 ______。A.左子节点B.右子节点C.左子节点和右子节点D.左子节点、右子节点和兄弟节点

考题 以下关于平衡二叉树叙述中,说法错误的是(65)。A.任意节点的左、右子树节点数目相同B.任意节点的左、右子树高度可以不相同C.所有节点的平衡因子只可能是-1、0和1D.任意节点的左、右子树高度之差的绝对值不大于1

考题 阅读以下说明和C语言函数,应填入(n)处。【说明】在一个分布网络中,资源(石油、天然气、电力等)可从生产地送往其他地方。在传输过程中,资源会有损耗。例如,天然气的气压会减少,电压会降低。我们将需要输送的资源信息称为信号。在信号从信源地送往消耗地的过程中,仅能容忍一定范围的信号衰减,称为容忍值。分布网络可表示为一个树型结构,如图10-9所示。信号源是树根,树中的每个节点(除了根)表示一个可以放置放大器的子节点,其中某些节点同时也是信号消耗点,信号从一个节点流向其子节点。每个节点有一个d值,表示从其父节点到该节点的信号衰减量。例如,在图10-9中,节点w、p、q的d值分别为2、1、3,树根节点表示信号源,其d值为0。每个节点有一个M值,表示从该节点出发到其所有叶子的信号衰减量的最大值。显然,叶子节点的M值为0。对于非叶子节点j,M(j)=max{M(k)+d(k)|k是j的孩子节点}。在此公式中,要计算节点的M值,必须先算出其所有子节点的M值。在计算M值的过程中,对于某个节点i,其有一个子节点k满足d(k)+M(k)大于容忍值,则应在k处放置放大器,否则,从节点i到某叶子节点的信号衰减量会超过容忍值,使得到达该叶子节点时信号不可用,而在节点i处放置放大器并不能解决到达叶子节点的信号衰减问题。例如,在图10-9中,从节点p到其所有叶子节点的最大衰减值为4。若容忍值为3,则必须在s处放置信号放大器,这样可使得节点p的M值为2。同样,需要在节点小v处放置信号放大器,如图10—10阴影节点所示。若在某节点放置了信号放大器,则从该节点输出的信号与信号源输出的信号等价。函数placeBoosters(TreeNode*root)的功能是:对于给定树型分布网络中各个节点,计算其信号衰减量的最大值,并确定应在树中的哪些节点放置信号放大器。全局变量Tolerance保存信号衰减容忍值。树的节点类型定义如下:typedef struct TreeNode{int id; /*当前节点的识别号*/int ChildNum; /*当前节点的子节点数目*/int d; /*父节点到当前节点的信号衰减值*/struct TreeNode **childptr; /*向量,存放当前节点到其所有子节点的指针*/int M; /*当前节点到其所有子节点的信号衰减值中的最大值*/bool boost; /*是否在当前节点放置信号放大器的标志*/}TreeNode;【C语言函数】void placeBoosters(TreeNode *root){ /* 计算root所指节点处的衰减量,如果衰减量超出了容忍值,则放置放大器*/TreeNode *p;int i,degradation;if( (1) ){degradation = 0;root->M = 0;i=0;if (i>=root->ChildNum)return;p=(2);for(;i<root->ChildNum p; i++,p =(3)){p->M = 0;(4);if (p->d+p->M>Tolerance) { /*在p所指节点中放置信号放大器*/p->boost=true;p->M = 0;}if (p->d + p->M > degradation)degradation = p->d + p->M;}root->M =(5);}}

考题 在平衡二叉树中,(6)。A.任意节点的左、右子树节点数目相同B.任意节点的左、右子树高度相同C.任意节点的左、右子树高度之差的绝对值不大于1D.不存在度为1的节点

考题 一棵有16节点的完全二叉树,按从上到下、从左至右的顺序给节点编号,则对于编号为7的节点X,它的父节点及右子节点的编号分别为______。A.2,14B.2,15C.3,14D.3,15

考题 在树中,一个节点的直接子节点的个数称为该节点的【 】.

考题 前序遍历和中序遍历结果相同的二叉树是()。A.所有节点只有左子树的二叉树 B.所有节点只有右子树的二叉树 C.根节点无左孩子的二叉树 D.根节点无右孩子的二叉树

考题 在平衡二叉树中()。A.不存在度为1的节点 B.任意节点的左、右子树节点数目相同 C.任意节点的左、右子树高度相同 D.任意节点的左右子树高度之差的绝对值不大于1

考题 关于XML节点树,下列描述错误的是()。A、同级节点拥有相同的父节点B、除根节点外,所有节点都有一个父节点C、有且必须只能有一个根节点D、所有节点都必须有子节点

考题 create配置元素的子节点中,用于配置业务组件的创建参数的是()。A、param子节点B、include子节点C、exclude子节点D、auth子节点

考题 treeView1.Nodes[1].Nodes[0]代表了控件treeView1的()。 A、第1个根节点的第1个子节点B、第1个根节点的第2个子节点C、第2个根节点的第1个子节点D、第2个根节点的第2个子节点

考题 TreeView控件某个节点的Nodes.Count属性值为0,说明这个节点没有下级子节点。

考题 关于极小极大搜索方法,下列说法正确的是()A、当轮到我方走棋时,首先按照一定的搜索深度生成出给定深度d以内的所有状态,计算所有叶节点的评价函数值。B、然后从d-1层节点开始逆向计算。C、对于我方要走的极大节点取其子节点中的最大值为该节点的值D、对于对方要走的极小节点取其子节点中的最小值为该节点的值。E、一直到计算出根节点的值为止,获得根节点取值的那一分枝,即为所选择的最佳走步。

考题 常规四叉树每个节点通常储存()个变量,即()子节点指针、()个父节点指针和()个节点值

考题 多选题关于极小极大搜索方法,下列说法正确的是()A当轮到我方走棋时,首先按照一定的搜索深度生成出给定深度d以内的所有状态,计算所有叶节点的评价函数值。B然后从d-1层节点开始逆向计算。C对于我方要走的极大节点取其子节点中的最大值为该节点的值D对于对方要走的极小节点取其子节点中的最小值为该节点的值。E一直到计算出根节点的值为止,获得根节点取值的那一分枝,即为所选择的最佳走步。

考题 单选题关于XML节点树,下列描述错误的是()。A 同级节点拥有相同的父节点B 除根节点外,所有节点都有一个父节点C 有且必须只能有一个根节点D 所有节点都必须有子节点

考题 填空题常规四叉树每个节点通常储存()个变量,即()子节点指针、()个父节点指针和()个节点值

考题 单选题treeView1.Nodes[1].Nodes[0]代表了控件treeView1的()。A 第1个根节点的第1个子节点B 第1个根节点的第2个子节点C 第2个根节点的第1个子节点D 第2个根节点的第2个子节点