重要提示:请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
首页 > 学历类考试> 自考公共课
网友您好,请在下方输入框内输入要搜索的题目:
搜题
拍照、语音搜题,请扫码下载APP
扫一扫 下载APP
题目内容 (请给出正确答案)
[主观题]

以下算法实现若开散列表HP中存在键值为K的结点,则将其删除。请分析程序,并在______上填充合适的语

句。

void delete_openhash(keytype K,openhash HP)

{ i=H(K);

if(HP[i]==NULL)return; /*空表则退出*/

p=HV[i];

if(p—>key==K){______=p—>next;free(p);return;)

/*表首结点为待删除结点时的删除*/

while(p—>next!=NULL) /*其他情况下的删除*/

{ q=p;p=p—>next;

if(p—>key==K){______=p—>next;delete(p);return;)

}

}

答案
查看答案
更多“以下算法实现若开散列表HP中存在键值为K的结点,则将其删除。请分析程序,并在______上填充合适的语”相关的问题

第1题

以下算法实现若开散列表HP中无键值为K的结点,则插入一个这样的结点。请分析程序,并在______上填充
合适的语句。

void insert_openhash(keytype K,openhash HP)

{ if(research_openhash(K,HP)==NULL)

{ i=H(K);

q=malloc(size);q—>key=______; /*生成新结点*/

______=HP[i];HP[i]=______; /*前插法链入新结点*/

}

}

点击查看答案

第2题

以下算法在开散列表HP中查找键值等于K的结点,成功时返回指向该点的指针,不成功时返回空指针。请分
析程序,并在______上填充合适的语句。

pointer research_openhash(keytype K,openhash HP)

{ i=H(K); /*计算K的散列地址*/

p=HP[i]; /*i的同义词子表表头指针传给P*/

while(______)p=p—>next; /*未达到表尾且未找到时,继续扫描*/

______;

}

点击查看答案

第3题

以下算法在有序表R中用二分查找法查找键值等于K的元素,请分析程序,并在______上填充合适的语句。

int binsearch(sqtable R,keytype K)

{ low=l;hig=R.n;/*置查找区间初值。low,hig分别标记查找区间的下、上界*/

while(low<=hig)

{ mid=(low+hig)/2;

switch

{ case K==R.item[i].key:return(mid); /*找到,返回位置mid*/

case K<R.item[i].key:______.break;/*缩小区间*/

case K>R.item[i].key:______;break/*缩小区间*/

}

}

return(0); /*若区间长度已为0但仍不成功,则返回0,表示查找不成功*/

}

点击查看答案

第4题

假定有3000个记录需要存储到一个散列文件中,文件中每个页块可以存储5个记录,若散列函数为H(K)=K%73并用开散列方法处理冲突,则每个桶所对应的单链表的平均长度至少为()。
假定有3000个记录需要存储到一个散列文件中,文件中每个页块可以存储5个记录,若散列函数为H(K)=K%73并用开散列方法处理冲突,则每个桶所对应的单链表的平均长度至少为()。

A、1

B、5

C、9

D、40

点击查看答案

第5题

已知一个线性表为(38,25,74,63,52,48),假定采用H(K)=K mod 7计算散列地址进行散列存储,若利用线

已知一个线性表为(38,25,74,63,52,48),假定采用H(K)=K mod 7计算散列地址进行散列存储,若利用线性探测的开放定址法处理冲突,则在该散列表上进行查找的平均查找长度为();若利用链地址法处理冲突,则在该散列上进行查找的平均查找长度为()。

A.1.5,1

B.1.7,3/2

C.2,4/3

D.2.3,7/6

点击查看答案

第6题

考查教材9.4.1节介绍的基本桶排序算法。若采用习题[9-11]中的技巧,可将其中散列表初始化所需的时间从O(M)优化至常数。a)算法的整体时间复杂度,是否因此亦有所改进?b)空间方面,需要付出多大的代价?是否会影响到渐进的空间复杂度?

点击查看答案

第7题

以下算法在指针T所指的二叉排序树上的查找键值等于K的结点。成功时回送指向该结点的指针;否则回送
空指针。请分析程序,并在______上填充合适的语句。

bitreptr search_bst(bitreptr T,keytype K)

{ if(T==NULL)return(NULL);

else switch

{ case T—>key==K:______;

case______: return(search_bst(T—>lchild,K));

case______: return(search_bst(T—>rchild,K));

}

}

点击查看答案

第8题

编写一个算法,以字典顺序输出散列表中的所有标识符。设散列函数为hash(x)=x中的第一个字符,采用线性探查法来解决冲突。试估计该算法所需的时间。
编写一个算法,以字典顺序输出散列表中的所有标识符。设散列函数为hash(x)=x中的第一个字符,采用线性探查法来解决冲突。试估计该算法所需的时间。

点击查看答案

第9题

R2-8对于foriins:语句,以下说法不正确的是()

A.如果s为集合,则该循环执行时,i取值会对集合中的每个元素进行遍历

B.如果s为字典,则该循环执行时,i取值会对字典中的每个键值对进行遍历

C.如果s为字符串,则该循环执行时,i取值会对字符串中的每个字符进行遍历

D.如果s为列表,则该循环执行时,i取值会对列表中的每个元素进行遍历

点击查看答案

第10题

若允许关键码雷同的词条并存,本章实现散列表结构的示例代码应该如何修改?

点击查看答案
下载APP
关注公众号
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案 购买前请仔细阅读《购买须知》
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《服务协议》《购买须知》
立即支付 系统将自动为您注册账号
已付款,但不能查看答案,请点这里登录即可>>>
请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
请用微信扫码测试
优题宝