首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
某个任务的数据模型可以抽象为给定的k个集合:S1,S2,…,Sk。其中Si(1≤i≤k)中的元素个数不定。在处理数据过程中将会涉及元素的查找和新元素的插入两种操作,查找和插入时用一个二元组(i,x)来规定一个元素,i是集合的序号,x是元素值。设计一种恰当的
某个任务的数据模型可以抽象为给定的k个集合:S1,S2,…,Sk。其中Si(1≤i≤k)中的元素个数不定。在处理数据过程中将会涉及元素的查找和新元素的插入两种操作,查找和插入时用一个二元组(i,x)来规定一个元素,i是集合的序号,x是元素值。设计一种恰当的
admin
2019-08-01
48
问题
某个任务的数据模型可以抽象为给定的k个集合:S
1
,S
2
,…,S
k
。其中S
i
(1≤i≤k)中的元素个数不定。在处理数据过程中将会涉及元素的查找和新元素的插入两种操作,查找和插入时用一个二元组(i,x)来规定一个元素,i是集合的序号,x是元素值。设计一种恰当的数据结构来存储这k个集合的元素,并能高效地实现所要求的查找和插入操作。
(1)构造数据结构,并且说明选择的理由。
(2)若一组数据模型为S
1
={10.2,1.7,4.8,16.2},S
2
={1.7,8.4,0.5},S
3
={4.8,4.2,3.6,2.7,5.1,3.9},待插入的元素二元组为(2,11.2)和(1,5.3),按你的设计思想画出插入元素前后的数据结构状态。
选项
答案
借助于分块查找思想,在建立数据顺序表的同时,建立一索引表。数据表中按k个集合分块(元素个数不一定相等),索引表中有两个域,一是各集合最后一个元素在数据表中的位置(一维数组中的下标),二是集合的个数(k)。实现数据运算时,根据给定的二元组(i,x),首先在索引表中找到集合i的位置,然后在数据表中查找x。查到x,则查找成功,返回x在数据表中的位置,否则查找失败。若要插入,则将数据表中的数据后移,插入x,同时修改索引表。 typedef struct{datatype data;}rectype; typedef struct{ int a[]; //a数组容量够大,存储各集合最后一个数据在数据表中的下标 int k; //集合个数 }index: inI SetSearch_Insert(rectype R[],index id,datatype X,int i){ //数据表R,查找第i个集合的元素X,若查找成功,返回其位置; //否则将其插入第i个集合 if(i<1 || i>id.k){printf(”无第%d个集合\n”,i);exit(0): } if(i==1)first=0; //first指向第i个集合在数据表的首址 else first=id.a[i—1]+1; last=id.a[i]; //last是第i个集合在数据表中的末址 for(j=first;j
id.A[i];j--)t //查找失败,将x插入数据表 R[j+1]=R[j]; //元素后移 R[j+1]=x; //将x插入到原第i个集合最后一个元素之后 for(j=i;j≤k;j++)id.a[j]++; //修改索引表中各集合最后一个元素的下标 } 由于各集合元素个数不等,各块长度不等且块间无序,索引表中用数组表示,数组中元素值是各集合最后一个元素在数据表中的下标。按本算法插入(2,11.2)和(1,5.3),数据表前后状态如下: [*] 插入前,索引表中a数组的内容是3,6,12,插入后修改为4,8,14。
解析
转载请注明原文地址:https://kaotiyun.com/show/iNCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列明末清初来华传教士,按时间顺序排列,正确的是()。
“二战期间,美国研制了原子弹并用于实践;1946年美国投入的第一台电子计算机最初是用于计算炮弹弹道;德国人研制成功的远程液体火箭是用于空袭英国的。”以上史实说明()。
【井冈山革命根据地】
建国以来,根据我国民族状况自身特点,民族自治地方人民代表大会依据全国人民代表大会制定的有关法律,先后制定了若干自治条例和单行条例;全国依法建立了155个民族自治地方,少数民族当家作主的权利得到充分保障。同时,国家采取一系列措施,加大支持力度,促进了民族自治
辽国规定中央官职中的()一律由契丹贵族担任。
1947年英国通过《蒙巴顿方案》,随后印度和巴基斯坦独立,形成印巴分治局面,在克里米尔地区冲突埋下隐患,《蒙巴顿方案》中印巴分治的依据
1939年前后,中国政治思想界展开关于三民主义问题争论的根本原因是()。
“两个凡是”
编写判定给定的二叉树是否是二叉排序树的函数。
指令字长为12位,每个地址码为3位,采用扩展操作码的方式,设计4条三地址指令、16条二地址指令、64条一地址指令和16条零地址指令。(1)给出一种操作码的扩展方案。(2)计算该方案操作码的平均长度。
随机试题
下列属于非居民企业的是()。
ItwasMonday,Mrs.Smith’sdogwashungry,buttherewasnotanymeatinthehouse.Consideringthattherewasnobetterwa
患者,男性,35岁。行胆囊切除术,出院指导中不恰当的是
女性患者,64岁,因心前区不适来诊,心电图显示完全性左束支传导阻滞,该患者心脏听诊可闻及
下列哪项不是阳陵泉的主治病证
冲压设备的安全技术措施包括使用安全工具、模具作业区防护措施和冲压设备的安全装置。下列措施中属于作业区防护的措施是()。
在进行投资项目的营业现金流量估算时,现金流量包括()。
1.媒体披露H省一中学发生群发性肺结核事件后,A县政府官网于2017年11月16日中午通报证实确有此事,但对事件涉及的范围和人数只字未提。而根据《结核病防治管理办法》,肺结核疫情严重,构成突发公共卫生事件的,应当及时向社会公布疫情处置情况。据多位
Theriseofmultinationalcorporations(跨国公司),globalmarketing,newcommunicationstechnologies,andshrinkingculturaldiffere
Victorpromisedtokeephisboss______whatwasgoingoninthefactory.
最新回复
(
0
)