首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
线性表(a1,a2,a3…,an)中元素值递增有序(没有重复元素)且按顺序存储于计算机内。如果想在当前的线性表中查找数值为x的元素,请设计一个时间复杂度最低的算法。找到x后,将其与后继元素位置相交换。如果线性表中没有x,将其插入表中并使表中元素仍递增有序。
线性表(a1,a2,a3…,an)中元素值递增有序(没有重复元素)且按顺序存储于计算机内。如果想在当前的线性表中查找数值为x的元素,请设计一个时间复杂度最低的算法。找到x后,将其与后继元素位置相交换。如果线性表中没有x,将其插入表中并使表中元素仍递增有序。
admin
2014-07-18
21
问题
线性表(a
1
,a
2
,a
3
…,a
n
)中元素值递增有序(没有重复元素)且按顺序存储于计算机内。如果想在当前的线性表中查找数值为x的元素,请设计一个时间复杂度最低的算法。找到x后,将其与后继元素位置相交换。如果线性表中没有x,将其插入表中并使表中元素仍递增有序。请回答下列问题:
(1)给出算法的主要思想;
(2)写出算法的实现函数;
(3)总结所用算法的时间和空间复杂度。
选项
答案
(1)顺序存储的线性表递增有序,可以顺序查找,也可折半查找。题目要求“用最少的时间在表中查找数值为x的元素”,这里应使用折半查找方法。 (2)算法实现如下: void SearchExchangeInesert(ElemType a[],ElemType x) ∥a是具有n个元素的递增有序线性表,顺序存储。本算法在表中查找数值为x的元素,如查到则与其后继交换位置;如查不到,则插入表中,且使表仍递增有序 low=0: high=n-1://low和high指向线性表下界和上界的下标 while(low<=high){ mid=(low+high)/2;//找中间位置 if(a[mid]==x)break;//找到x,退出while循环 else if(a[mid]
high)//查找失败,插入数据元素x V{ for(i=n-1;i>high;i--) a[i+1]=a[i];//后移元素 a[i+1]=x;//插入x }∥结束插入 }∥结束本算法 (3)折半的时间复杂度为0(10gn),如果不存在x的情况下,在线性表中插入元素的时候,时间复杂度取决于x插入的位置,最坏情况下为0(n)。算法实现过程中使用的辅助空间为常量,空间复杂度为0(1)。
解析
转载请注明原文地址:https://kaotiyun.com/show/paxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
第一国际开展了哪些活动?其内部经历了哪些主要斗争?
西藏自治区的设立时间是()。
到1869年为止,人类已发现了多少种化学元素()。
戊戌政变发生的时间是()。
清初设置的两个“办事大臣”是()。①宁古塔②西宁③库伦④西藏
外国侵略者通过不平等条约取得的特权中,按时间先后顺序排列应是()。①外国商船和军舰可以在长江各口岸自由航行②外国人可以在通商口岸开设工厂③可在通商口岸建立教堂④领事裁判权和片面最惠国待遇
对三国鼎立到隋朝重新统一全国这段历史时期的政局,叙述正确的是()。①只有西晋有过短暂的统一②大多数时间是多个政权分立、南北对峙的复杂政局③西晋、北魏、东晋都有过短暂的统一④除三国分立以外,其他时间基本上处于统
洋务运动时期,首批赴欧海军留学生派出的时间是()。
随机试题
A.全层B.黏膜层C.黏膜层及黏膜下层D.肌层Crohn病常累及肠壁
妊高征最常见的并发症
咽后壁组织瓣的宽度一般为咽后壁宽度的
大气评价等级的确定是根据项目的初步工程分析结果,选择1~3种主要污染物,分别计算每一种污染物的()及第i个污染物的地面浓度达标准限值10%时所对应的最远距离D10%。
城市道路规划设计内容包括()
[背景资料]某建筑工程,建筑面积3.6万m2,地下2层,地上16层。施工单位(以下简称“乙方”)与建设单位(以下简称“甲方”)签订了施工总承包合同,合同工期600d。合同约定,工期每提前(或拖后)1d,奖励(或罚款)1万元。乙方将屋面和设备安装两
收入可能表现为资产的增加,也可能表现为负债的减少。()
党的十八届五中全会提出,坚持绿色发展,必须坚持()的基本国策,坚持可持续发展,坚定走生产发展、生活富裕、生态良好的文明发展道路。
A、2.5B、0C、-3D、-5D本题的规律为左半圆中的两个数字的积等于右半圆中两个数字的和。依据此规律可知未知项为-5,故选D。
A单独完成某项工作需要x小时,B单独完成这项工作需要y小时,假设A,B两人一起工作,需要多少时间完成这项工作。
最新回复
(
0
)