首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
线性表(a1,a2,a3,…,an)中元素递增有序且按顺序存储于计算机内。要求设计一算法用最少时间在表中查找数值为x的元素,并将其与后继元素位置相交换。如果线性表中找不到该元素,则将该元素插入表中并使表中元素仍递增有序。 (1)给出算法的基本设计思
线性表(a1,a2,a3,…,an)中元素递增有序且按顺序存储于计算机内。要求设计一算法用最少时间在表中查找数值为x的元素,并将其与后继元素位置相交换。如果线性表中找不到该元素,则将该元素插入表中并使表中元素仍递增有序。 (1)给出算法的基本设计思
admin
2018-08-12
36
问题
线性表(a
1
,a
2
,a
3
,…,a
n
)中元素递增有序且按顺序存储于计算机内。要求设计一算法用最少时间在表中查找数值为x的元素,并将其与后继元素位置相交换。如果线性表中找不到该元素,则将该元素插入表中并使表中元素仍递增有序。
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
(3)分别给出算法各部分的时间复杂度。
选项
答案
(1)顺序存储的线性表递增有序,可以顺序查找,也可折半查找。题目要求“用最少的时间在表中查找数值为戈的元素”,这里应使用折半查找方法。 (2)算法的设计如下: void SearchExchangelnse~(ElemType a[],ElemType x) { int low=0;int high=n-l;int mid; //low和high指向线性表下界和上界的下标 while(low<=high) { mid=(low+high)/2; //找中间位置 if(a[mid]==x)break; //找到x,退出while循环 else if(a[mid]
high) { //查找失败,插入数据元素x int i; for(i=n-1;i>high;i一一) a[i+1]=a[i]; //后移元素 a[low]=x; //插入x } //结束插入 } (3)在利用折半查找的方法查找x的过程中时间复杂度为O(nlog
2
n);交换元素位置时的时间复杂度为O(1);当查找不成功时,插入元素时的时间复杂度为O(n)。
解析
转载请注明原文地址:https://kaotiyun.com/show/9cRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
“我不想变成上帝,或居住在永恒之中,或者把天地抱在怀里,属于人的那种光荣对我就够了。我自己是凡人,我只要求凡人的幸福。”这句话体现的思想是()
下列城市:①南京②厦门③天津④杭州,按其在近代历史上开放为商埠的时间先后顺序排列应该是()
美国工业革命的有利条件包括()。①美国自然资源丰富②独立战争后,美国创立了资产阶级共和制度③地理位置优越,远离动乱的欧洲④拥有潜在的广阔的国内市场
下列选择中,()不是操作系统关心的主要问题。
一棵:BS’r树共7个结点,值分别为1、2、3、4、5、6、7,形态为满二叉树,()不是插入序列。
假定在一个处理机上执行的操作如下:作业估计服务时间片优先数A103B11C23D14E52这些
指令系统字长16位,每个地址码为6位,采用扩展操作码的方式,试设计14条二地址指令,100条一地址指令,100条零地址指令。(1)画出操作码的扩展形式。(2)下图为指令译码逻辑图,其中只给出了二地址指令的译码逻辑,试补全一地址指令和零地址指令的
随机试题
提高反应温度能提高汽油辛烷值,因为汽油中的烯烃都随温度提高而增加。()
营销的目的是()
健康教育培训的目的是解决实际工作问题,具有很强的
在胞浆中进行的和能量代谢有关的代谢是
某工程网络计划中工作M的总时差为3天,自由时差为0。该计划执行过程中,只有工作M的实际进度拖后4天,则工作M的实际进度将其紧后工作的最早开始时间推迟和使总工期延长的时间分别为()。
编制材料消耗定额时,材料损耗率可以通过()计算确定。
结构在规定的时间内、规定的条件下,完成预定功能的能力称为( )。
局域网的简称是()。
下列句子中,没有语病的一句是()。
Onemajorobstacletoeconomicdevelopmentispopulationgrowth.Thepopulationsofmostdevelopingcountriesgrewataratemuc
最新回复
(
0
)