首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列算法说明和算法,将应填入(n)处的语句写在对应栏内。 【说明】 为了减少直接插入排序关键字的比较次数,本算法使用了二分(折半)插入法对一个无序数组R[1..n]进行排序。排序思想是对一个待插入元素,先通过二分法(折半)找到插入位置,后
阅读下列算法说明和算法,将应填入(n)处的语句写在对应栏内。 【说明】 为了减少直接插入排序关键字的比较次数,本算法使用了二分(折半)插入法对一个无序数组R[1..n]进行排序。排序思想是对一个待插入元素,先通过二分法(折半)找到插入位置,后
admin
2010-01-15
31
问题
阅读下列算法说明和算法,将应填入(n)处的语句写在对应栏内。
【说明】
为了减少直接插入排序关键字的比较次数,本算法使用了二分(折半)插入法对一个无序数组R[1..n]进行排序。排序思想是对一个待插入元素,先通过二分法(折半)找到插入位置,后移元素后将该元素插入到恰当位置。(假设R[]中的元素互不相同)
[算法]
1.变量声明
X: Data Type
i,j,low, high,mid,r:0..n
2.每循环一次插入一个R
循环:i以1为步长,从2到n,反复执行。
(1)准备
X←R
;(1); high←i-1;
(2)找插入位置
循环:当(2)时,反复执行。
(3)
若X.key<R[mid].key
则high←mid-1;
否则 (4)
(3)后移
循环:j以-1为步长,从(5),反复执行。
R[j+1]←R[j]
(4)插入
R[low]←X
3.算法结束
选项
答案
(1)low←1 (2)low<=high (3)mid←int((low+high)/2) (4)low←mid+1 (5)i-1到low
解析
本题考查使用二分插入法对无序数组排序的伪码实现。
在做题前,我们需要先大概明白二分插入法的基本思想和步骤,其基本思想是(设 R[low,…,high]是当前的插入区间):
(1)将要插入的数取出放在X中;
(2)确定区间的中点位置:mid=[(low+high)/2];
(3)确定插入位置,将待插入的k值与R[mid].key比较,具体方法如下:
· 若R[mid].key>k,则由排序后表的有序性可知R[mid,…,n].key均大于k,因此,插入区间是左子表R[low,…,high],其中high=mid-1。
· 若R[mid].key<k,则要插入的k必在mid的右子表R[mid+1,…,high]中,其中 low=mid+1。
(4)在上面的过程中,low逐步增加,而high逐步减少,直到high<low,则找到插入位置为low,然后循环移动位置low后面的元素,再插入数值。
(5)重复上述过程,直到所有数都被插入。
有了上面的分析,我们再来看程序伪代码,第(1)空处在准备阶段,准备阶段要完成的任务是给变量赋初值,high←i-1将数组中的最后一个位置赋给了插入指针high,因为插入的范围是数组的整个范围,那么第(1)空应该用来将数组的第一个位置赋给插入指针low,因此答案为low←1。
第(2)空是找插入位置用的循环条件,根据我们上面的分析,要直到high<low时,才能确定插入的位置;而在low<=high时,循环一直执行,结合程序的内容,知道此空答案为low<=high。
第(3)空很明显是用来确定区间的中间位置,但mid有可能为小数,在程序中我们用取整的方法来去掉小数部分,因此,此空答案为mid<-int((low+high)/2)。
第(4)空是条件X.key<R[mid].key不成立的情况下执行的语句,如果条件为假,则说明要插入的数大于中间位置的数,应该在其右区间里进行插入,根据分析知道,这时左指针low应该改变,这个空就是用来实现这个功能的,因此,答案为low←mid+1。
第(5)空在后移的循环操作中,作为后移的循环判断条件,在找到插入位置后,进行插入前,我们需要一个空间来存放插入的值。从程序中不难看出,是将待插入位置后面的所有元素向后移动一位,而待插入位置存放在low中,因此,此空答案为i-1到 low。
转载请注明原文地址:https://kaotiyun.com/show/LBjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
我国的信息安全法律法规包括国家法律、行政法规和部门规章及规范性文件等。()属于部门规章及规范性文件。
数据分析经常需要把复杂的数据分组,并选取代表,将大量数据压缩或合并得到一个较小的数据集。这个过程称为()。
()不属于信息污染。
数据的收集方式可有多种,分别适用于各种情况。以下数据收集方式,不恰当的是______。
西部某省考试机构工作人员统计了去年下半年三个地区四种资格的报考人数,将统计表抄录如下(其中有一个数据抄错了): 信息处理技术员小王很快就找出了错误的数据,并进行了纠正。错误的数据是(32),该数据应纠正为(33)。33.
统计报表中常包括填表说明,以指导填表者填写。填表说明中一般不包括______。
图文混排是Word的特色功能之一,下列叙述中,不正确的是(46)。
在Excel2007中,若在单元格A1中输入函数“=ROUNDUP(3.1415926,2)”,按回车键后,则A1单元格中的值为______。
某企业的大数据工程项目包括如下四个阶段的工作:①数据获取,②数据清洗与整理,③数据分析,④数据展现。一般来说,工作量较大、花费时间较长的阶段是______(1),技术含量最高的阶段是______(2),准备向有关部门递交成果的阶段是______(3)。
某玩具厂5个月内生产熊猫玩具的产量统计如下。一、二月的产量相同,则一、二月的产量为______。[*]39
随机试题
A.烧瓶状B.环形腰带状C.火山口状D.裂隙状癌性溃疡的特点是
房地产经纪机构向委托人提供订立房地产交易合同的机会或者媒介服务,并向委托人收取佣金的行为是()
某公司进口一批机电设备,其CIF货价为5万美元,该公司委托监理工程师向某保险公司投保某一险别的保险,与保险公司约定保险加成率10%,则该批机电设备的保险金额为()万美元。
某电影院位于某地下人防工程(该地下人防工程建筑地下二层的室内地面与室外出入口地坪之间高差为9m)的地下二层,建筑面积为4200m2,设有1个建筑面积为600m2的大观众厅,7个建筑面积均为300m2的小观众厅。该电影院共划分6个防火分区,其中大厅、售票厅
运用年金成本法进行设备重置决策时,应考虑的现金流量不包括()。
下列有关物权种类的表述中,正确的有()。
原材料账户的贷方反映的是()。
某人要上某大厦的10楼,他从1楼到5楼用了100秒,按此速度,他到10楼还需要的时间为()秒。
一般人认为,广告商为了吸引顾客不择手段。但广告商并不都是这样。最近,为了扩大销路,一家名为《港湾》的家庭类杂志改名为《炼狱》,主要刊登暴力与色情内容。结果,原先《港湾》杂志的一些常年广告客户拒绝续签合同,转向其他刊物。这说明这些广告商不只考虑经济效益,而且
盗む
最新回复
(
0
)