A ) 6
B ) 7
C ) 8
D ) 9
为使二叉搜索树结构支持多个相等数据项的并存,需要增加一个BST::searchAll(e)接口,以查找出与指定目标e相等的所有节点(如果的确存在)。
a)试在BST模板类(教材185页代码7.2)的基础上,扩充接口BST::searchAll(e)。要求该接口的时间复杂度不超过o(k+h),其中h为二叉搜索树的高度,k为命中节点的总数;
b)同时,改进原有的BST::search(e)接口,使之总是返回最早插入的节点e—即先进先出。
A、①②③
B、②③
C、②③④
D、③
下面关于B树运算的叙述中,正确的是
A.如插入过程中根结点发生分裂,则B树的高度加1
B.每当进行插入运算,就往B树的最下面一层增加一个新结点
C.若要删除的关键码出现在根结点中,则不能真正删除,只能做标记
D.删除可能引起B树结点个数减少,但不会造成B树高度减小
A.可以任意增加分形阶数,减少网格尺度
B.插值的数值变化平缓
C.所有插入数值都小于样本点的最大值又大于样本点的最小值
D.根据概率自动判断局部地区的峰值及位置
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
[说明]
本程序实现对指定文件内的单词进行计数。其中使用二叉树结构来保存已经读入的不同单词,并对相同单词出现的次数进行计数。此二叉树的左孩子结点的字符串值小于父结点的字符串值,右孩子结点的字符串值大于父结点的字符串值。函数getword(char*filename,char*word)是从指定的文件中得到单词。char*strdup(char*S)是复制S所指向的字符串,并返回复制字符串的地址。
[C程序]
include <stdio.h>
include <ctype.h>
include <string.h>
define MAXWORD 100
struct node {
char*word;
int count;
struct node*left;
struct node*right;
}
struct node*addtree(struct node*P,char*w)
{ int cond;
if(p==NULL){ /*向树中插入结点*/
P=(struct node*)malloc(sizeof(struct node));
P->word=strdup(w);
P->count=1;
(1) ;
}
elseif((oond=strcmp(w,p->word))==0) (2) ;
else if(cond<0)p->left=(3);
else p->right=(4);
return p;
}
main()
{ Struct node*root;
char word[MAXWORD];
root=NULL;
filename="example.dat";
while(getword(filename,word)!=EOF))
root=(5);
}
m阶的B树的生成是从空树开始的,逐个插入关键字。每次插入一个结点是向B树______。
A.添加一个叶结点
B.向叶结点添加一个关键字
C.根结点加入一个关键字
D.最低层的某个非终端结点添加一个关键字