刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

插入排序算法的伪代码如下。

输入:数组 A,元素下标为 1 ~ n。

输出:按非递减顺序排序的 A。

插入排序算法:

for i = 2 to n

key = A[i]

j = i - 1

while j > 0 and A[j] > key

A[j + 1] = A[j]

j = j - 1

A[j + 1] = key

对 n 个数用以上排序算法进行排序,第 5 行语句最少执行 () 次,最多执行 () 次。

A

n, n(n-1)/2

B

n, n(n+1)/2

C

0, n(n+1)/2

D

0, n(n-1)/2

使用微信搜索喵呜刷题,轻松应对考试!

答案:

A

解析:

【喵呜刷题小喵解析】:在插入排序算法中,第5行语句执行次数取决于元素在数组中的位置。对于数组中的每个元素,该语句最多需要执行n-1次(即元素需要向前移动n-1个位置以找到正确的位置)。但是,当数组已经排序时,该语句将不需要执行。因此,第5行语句最少执行0次,最多执行n-1次。因此,答案选项A中的“n, n(n-1)/2”是错误的,应该是“n, n-1”。选项B、C和D中的范围都是错误的。因此,正确答案是A。
创作类型:
原创

本文链接:插入排序算法的伪代码如下。 输入:数组 A,元素下标为 1 ~ n。 输出:按非递减顺序排序的 A。

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share