A、大于1000的数
B、小于1000的数
C、随机数
D、素数
第1题:
第2题:
当采用除留余数法构造散列函数时,即h(key)=key mod p,若要将发生冲突现象的频率降至最低,p最好是( )(设散列表的长度为m)。A.小于m的最大偶数B.大于m的最小基数C.小于m的最大素数D.大于m的最小偶数
第3题:
设线性表(59,53,46,48,37,31,25)采用散列(Hash)法进行存储和查找,散列函数为H(Key)=Key MOD 7(MOD表示整除取余运算)。若用链地址法解决冲突(即将相互冲突的元素存储在同一个单链表中)构造散列表,则散列表中与哈希地址 (38) 对应的单链表最长。
A.2
B.3
C.4
D.6
第4题:
某哈希表(散列表)的长度为n,改散列函数为H(Key) = Key mod p,采用线性探测法解决冲突。以下关于P值的叙述中,正确的是(61)。
A.p的值一般为不大于n且最接近n的质数
B.p 的值一般为大于n的任意整数
C.p 的值必须为小于n的合数
D.p 的值必须等于n
第5题:
试题三(共15分)
阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。
【说明】
函数Insert _key (*root,key)的功能是将键值key插入到*root指向根结点的二叉查找树中(二叉查找树为空时*root为空指针)。若给定的二叉查找树中已经包含键值为key的结点,则不进行插入操作并返回0;否则申请新结点、存入key的值并将新结点加入树中,返回l。
提示:
二叉查找树又称为二叉排序树,它或者是一棵空树,或者是具有如下性质的二叉树:
●若它的左子树非空,则其左子树上所有结点的键值均小于根结点的键值;
●若它的右子树非空,则其右子树上所有结点的键值均大于根结点的键值;
●左、右子树本身就是二叉查找树。
设二叉查找树采用二叉链表存储结构,链表结点类型定义如下:
typedef struct BiTnode{
int key _value; /*结点的键值,为非负整数*/
struct BiTnode *left,*right; /*结点的左、右子树指针*/
}BiTnode, *BSTree;
【C函数】
int Insert _key( BSTree *root,int key)
{
BiTnode *father= NULL,*p=*root, *s;
while( (1)&&key!=p->key_value){/*查找键值为key的结点*/
father=p;
if(key< p->key_value)p= (2) ; /*进入左子树*/
else p= (3) ; /木进入右子树*/
}
if (p) return 0; /*二叉查找树中已存在键值为key的结点,无需再插入*/
s= (BiTnode *)malloc( (4) );/*根据结点类型生成新结点*/
if (!s) return -1;
s->key_value= key; s->left= NULL; s->right= NULL;
if( !father)
(5) ; /*新结点作为二叉查找树的根结点*/
else /*新结点插入二叉查找树的适当位置*/
if( key< father->key_value)father->left = s;
elsefather->right = s;
retum 1:
}
第6题:
第7题:
在散列函数H(k)=kmodm中,一般来讲,m应取()。
第8题:
设散列表中有m个存储单元,散列函数H(key)=key%p,则p最好选择()。
第9题:
设散列地址空间为0~m-1,k为关键字,用P去除k,将余数作为k的散列地址,即:h(k)=k%P,为了减少发生冲突的可能性,一般取P为()。
第10题:
第11题:
产生一个大于或等于0小于1的单精度随机数
产生一个大于或等于0小于10的单精度随机数
产生一个大于0小于10的单精度随机数
产生一个大于0小于1的单精度随机数
第12题:
奇数
偶数
素数
充分大的数
第13题:
设散列表中m个存储单元,散列函数为H(key)=key%p,p是最好选择()。
A.小于等于m的最大奇数
B.小于等于m的最大素数
C.小于等于m的最大偶数
D.小于等于m的最大合数
第14题:
对关键码序列(12,24,15,56,20,87,69,9)采用散列法进行存储和查找,并设散列函数为H(Key)=Key%11(%表示整除取余运算)。采用线性探查法(顺序地探查可用存储单元)解决冲突所构造的散列表为()。
A.
B.
C.
D.
第15题:
● 若线性表(23, 14, 45, 12, 8, 19, 7)采用散列法进行存储和查找。设散列函数为H(Key)=Key mod 7并采用线性探查法(顺序地探查可用存储单元)解决冲突,则构造的散列表为 (38) ,其中,mod表示整除取余运算。
第16题:
● 若线性表(24, 13, 31, 6, 15, 18, 8)采用散列(Hash)法进行存储和查找,设散列函数为H(Key)=Key mod 11,则构造散列表时发生冲突的元素为 (1) 。(其中的mod表示整除取余运算)
(1)
A. 24和13
B. 6 和15
C. 6 和24
D. 18和8
第17题:
第18题:
第19题:
设哈希(散列)表表长为15(哈希地址为0~14),哈希函数为H(key)=key%11,冲突处理采用线性探测Hi=(H(key)+1)%11,则将一列数15,20,26,30,35,40存储该哈希表,元素40的哈希地址为()
第20题:
若采用链地址法构造散列表,散列函数为H(key)=key MOD 17,则需()个链表。
第21题:
随机函数Rnd(10)的功能为()。
第22题:
17
13
16
任意
第23题:
小于m的最大奇数
小于m的最大素数
小于m的最大偶数
小于m的最大合数