将数组1,1,2,4,7,5从小到大排序,若采用(1)排序算法,则元素之间需要进行的比较次数最少,共需要进行(2)次元素之间的比较。
(1)处填()。
A.5
B.6
C.7
D.8
参考答案:B
解析:
直接插入排序算法是:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第1趟比较前两个数,然后把第2个数按大小插入到有序表中;第2趟把第3个数据与前两个数从前向后扫描,把第3个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。直接插入排序属于稳定的排序,最坏时间复杂性为(n2),空间复杂度为0(1)。
依题意,将数组{1,1,2,4,7,5}从小到大排序,若采用直接插入排序算法,则元素之间需要进行的比较次数最少,共需要进行6次元素之间的比较。