用直接插入排序方法对下面四个序列进行排序(由小到大),元素比较次数最少的是
A. 94,32,40,90,80,46,21,69
B. 21,32,46,40,80,69,90,94
C. 32,40,21,46,69,94,90,80
D. 90,69,80,46,21,32,94,40
答:B
逆序越少的序列,在直接插入排序中比较次数是越少的
因此对比B和C的比较次数
在B中:第一趟:32和21,比较1次,得出 21,32, 46,40,80,69,90,94
第二趟:46和32,比较1次,确定 21,32,46, 40,80,69,90,94
第三趟:40和46,比较1次,和32,比较1次,共2次
确定 21,32,40,46, 80,69,90,94
同理推出80与46,比较1次;
69与80,46,比较2次;
90与80,比较1次;
94与90比较1次
比较次数:1+1+2+1+2+1+1=9次
在C中:第一趟:40和32,比较1次,得出 32,40, 21,46,69,94,90,80
第二趟:21和40,比较1次,和32,比较1次,共2次
确定 21,32,40, 46,69,94,90,80
第三趟:46和40,比较1次,确定 21,32,40,46, 69,94,90,80
同理,69与46,比较1次,
94与69,比较1次,
90与94,与69比较2次
80与94,与90,与69,比较3次
比较次数:1+2+1+1+1+2+3=11次
举个栗子: