早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

采用插入排序算法对n个整数排序,其基本思想是:在插入第i个整数时,前i-1个整数己经排好序,将第i个

题目

采用插入排序算法对n个整数排序,其基本思想是:在插入第i个整数时,前i-1个整数己经排好序,将第i个整数依次和第i-1, i-2, ...个整数进行比较,找到应该插入的位置。现采用插入排序算法对6个整数{5.2.4.6.1.3}进行从小到大排序,则需要进行(31)次整数之间的比较。对于该排序算法,输入数据具有(32)特点时,对整数进行从小到大排序,所需的比较次数最多。

A.9

B.10

C.12

D.13

参考答案
正确答案:C
一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:(1)从第一个元素开始,该元素可以认为已经被排序(2)取出下一个元素,在已经排序的元素序列中从后向前扫描(3)如果该元素(已排序)大于新元素,将该元素移到下一位置(4)重复步骤3,直到找到已排序的元素小于或者等于新元素的位置(5)将新元素插入到下一位置中(6)重复步骤2~5对于本题:{5.2.4.6.1.3}第一趟:第一次比较,5大于2(新元素),元素5向后位移一位,而5之前无数据,即将2插入到1位,2,5第二趟:第一次比较,5大于4(新元素),元素5向后移一位,再进行第二次比较,2小于4(新元素),即将4插入2之后的一位,即2,4,5依次类推,,,所以比较的次数为1+2+1+4+4=12如果目标是把n个元素的序列升序排列,那么采用插入排序存在最好情况和最坏情况。最好情况就是,序列已经是升序排列了,在这种情况下,需要进行的比较操作需(n-1)次即可。最坏情况就是,序列是降序排列,那么此时需要进行的比较共有n(n-1)/2次。插入排序的赋值操作是比较操作的次数加上(n-1)次。平均来说插入排序算法的时间复杂度为O(n^2)。
看了采用插入排序算法对n个整数排序...的网友还看了以下:

1.一个正整数被7,8,9除的余数分别是1,2,3,并且得到的三个商的和为570,求这个正整数.2 数学 2020-04-07 …

1.一个正整数能被3整除,又能整除12,则这个正整数是().2.261怎么1.一个正整数能被3整除 数学 2020-05-16 …

已知a与b是两个正整数,且a>b.请问:(1)如果它们的最小公倍数是36,那么这两个正整数有多少种 其他 2020-06-20 …

1、如果m=7n,那么m与n的最小公倍数是.2、有m、n两个正整数,如果m是n的倍数,则m和n的最 数学 2020-07-31 …

如果一个正整数能表示为两个正整数的平方差,那么这个正整数称为“智慧数”.如果一个正整数能表示为两个 数学 2020-07-31 …

650847320用四舍五入法凑整,整万数是(),用去尾法凑整,整百万数是(650847320用四 其他 2020-08-02 …

(1)一个正整数如果能表示为若干个正整数平方的算术平均值,就称这个正整数为“好整数”,如4=22+ 数学 2020-08-03 …

谁能用以PGAI这四个字母开头的英文单词写出一个完整的句子?我想以分别为P、G、A、I、开头,以这个 英语 2020-11-03 …

(2011•河源)如图,我市某展览厅东面有两个入口A、B,南面、西面、北面各有一个出口.小华任选择一 数学 2020-11-04 …

一道计算题将正整数N接写在任意一个正整数的右面(例如:将2接写在35的右面得352),如果得到的新数 数学 2020-11-10 …