已知数据序列(18,19,20,51,6,30,1,2)是某种排序算法第二趟排序后得到的结果,则该算法可能是( )。
C
【考点】本题考查排序-插入排序-直接插入排序【解析】直接插入排序是一种比较简单的排序方法,它的基本操作是:假设待排序的记录存储在数组R[1..n]中,在排序过程的某一时刻,R被划分成两个子区间,R[1..i-1]和R[i..n],其中前一个为已排好序的有序区,而后一个为无序区,开始时有序区中只含有一个元素R[1],无序区为R[2..n]。排序过程中,只需要每次从无序区中取出第一个元素,把它插入到有序区的适当位置,使之成为新的有序区,依次这样经过n-1次插入后,无序区为空,有序区中包含了全部n个元素,至此排序完毕。故本题选C。【希赛点拨】直接插入排序算法有两重循环:外循环表才示要进行n-1趟排序,内循环表明完成一趟排序所进行的记录关键字间的比较和记录的后移。在每一趟排序中,最多可能进行i次比较,移动i-1+2=i+1个记录(内循环前后作两次移动)。所以,在最坏情况下(反序),插入排序的关键字之间比较次数和记录移动次数达最大值。
扫描微信二维码,添加您的专属老师为好友
您在考试中遇到任何问题,老师都会帮您解答
您希望我们通过哪种方式与您联系?
您已选择电话/微信/QQ的联系方式,课程顾问会尽快联系您!
您已选择微信联系方式,课程顾问会尽快添加您的微信,请您确认通过!
您已选择QQ联系方式,课程顾问会尽快添加您的QQ,请您确认通过!
您已选择电话联系方式,课程顾问会尽快联系您!
您已选择“不联系”,课程顾问不会主动联系您。如果后续您有需求,可以在个人中心主动添加销售微信或拨打客服电话:400-111-9811