首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
线性表(a1,a2,a3…,an)中元素值递增有序(没有重复元素)且按顺序存储于计算机内。如果想在当前的线性表中查找数值为x的元素,请设计一个时间复杂度最低的算法。找到x后,将其与后继元素位置相交换。如果线性表中没有x,将其插入表中并使表中元素仍递增有序。
线性表(a1,a2,a3…,an)中元素值递增有序(没有重复元素)且按顺序存储于计算机内。如果想在当前的线性表中查找数值为x的元素,请设计一个时间复杂度最低的算法。找到x后,将其与后继元素位置相交换。如果线性表中没有x,将其插入表中并使表中元素仍递增有序。
admin
2014-07-18
68
问题
线性表(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
学硕统考专业
相关试题推荐
李鸿章奏请在天津设立的北洋水师学堂的落成时间是()。
西藏自治区的设立时间是()。
下面条约没有涉及德国的赔款问题的是()。
清初设置的两个“办事大臣”是()。①宁古塔②西宁③库伦④西藏
国民政府对日宣战的时间是()。
波兰三次被瓜分的时间是()
中国历史上第一部资产阶级革命法典《临时约法》公布的时间是()。
北魏建立和统一的时间分别是()。
随机试题
产生副作用的剂量是
A.皮脂腺囊肿B.表皮样囊肿和皮样囊肿C.甲状舌管囊肿D.腮裂囊肿E.舌下囊肿好发于颈侧部,穿刺可抽出黄色或棕色液体的囊肿是
心绞痛患者体检无异常,确诊应选择的检查是( )
从项目周期阶段各项工作运行和管理的角度,可以把项目的内部管理分为决策管理和执行管理两个层次,其中项目决策管理主要是指()对项目的管理。
期货合约的价格形成方式有()。
对于以公允价值进行后续计量的金融负债,其公允价值变动形成的利得或损失,除与套期会计有关外,应当计入当期损益。()
某学校为了提高升学率,强制让成绩不好的学生放学后进行一个小时的补课,并向每个学生收取一定的费用。关于学校的做法,下列说法止确的是()。
意大利文艺复兴三杰指的是________、________和________。
中国为登月工程发射了一颗名为()的卫星。
顺序文件时根据记录的(14)来进行存取的文件组织方式,使最简单的文件,如果文件按关键字有序输入,则形成的顺序文件称为顺序有序文件,否则称为顺序无序文件。索引文件可分为索引顺序文件和索引无序文件,其中,索引无序文件是指(15)。直接存取文件又称为哈希文件或散
最新回复
(
0
)