快速排序的最坏情况如何改进?
正确答案
将i、j指的内容比较,若i的内容比基准小,i推进,否则i停下,开始进行j的比较;若j的内容比基准大,j推进,否则j停下,将i的内容与j的内容交换,重复上述过程,直至j<i止,将基准与i的内容交换,一次分段完成。
答案解析
相似试题
(单选题)
任何一个基于"比较"的内部排序的算法中,若对6个元素进行排序,在最坏情况下所需的比较次数至少为()
(单选题)
一组记录的关键码为(46,79,56,38,40,84),则采用快速排序的方法,以第一个记录为基准得到的一次划分结果为()
(填空题)
对于一个具有n个元素序列如果采用快速排序,那么所需的最少比较次数是(),所需的最大比较次数是(),且此序列为()序列。
(单选题)
在内部排序中,通常要对被排序数据进行多次扫描。各种排序方法有不同的排序实施过程和时间复杂性。对给定的整数数列 (541,132,984,746,518,181,946,314,205,827)进行从小到大的排序时,采用冒泡排序和简单选择排序时,若先选出大 元素,则第一次扫描结果分别是__(1)__,采用快速排序(以中间元素518为基准)的第一次扫描结果是__(2)__。 设被排序的序列有n个元素,冒泡排序和简单选择排序的时间复杂度是__(3)__;快速排序的时间复杂度是__(4)__。
(单选题)
在内部排序中,通常要对被排序数据进行多次扫描。各种排序方法有不同的排序实施过程和时间复杂性。对给定的整数数列 (541,132,984,746,518,181,946,314,205,827)进行从小到大的排序时,采用冒泡排序和简单选择排序时,若先选出大 元素,则第一次扫描结果分别是__(1)__,采用快速排序(以中间元素518为基准)的第一次扫描结果是__(2)__。 设被排序的序列有n个元素,冒泡排序和简单选择排序的时间复杂度是__(3)__;快速排序的时间复杂度是__(4)__。
(单选题)
在内部排序中,通常要对被排序数据进行多次扫描。各种排序方法有不同的排序实施过程和时间复杂性。对给定的整数数列 (541,132,984,746,518,181,946,314,205,827)进行从小到大的排序时,采用冒泡排序和简单选择排序时,若先选出大 元素,则第一次扫描结果分别是__(1)__,采用快速排序(以中间元素518为基准)的第一次扫描结果是__(2)__。 设被排序的序列有n个元素,冒泡排序和简单选择排序的时间复杂度是__(3)__;快速排序的时间复杂度是__(4)__。
(单选题)
对于给定的一组关键字(12,2,16,30,8,28,4,10,20,6,18),按照下列算法进行递增排序,写出每种算法第一趟排序后得到的结果:希尔排序(增量为5)得到__(1)__,快速排序(选第一个记录为基准元素)得到__(2)__,基数(基数为10)排序得到__(3)__,二路归并排序得到__(4)__,堆排序得到__(5)__。
(单选题)
对于给定的一组关键字(12,2,16,30,8,28,4,10,20,6,18),按照下列算法进行递增排序,写出每种算法第一趟排序后得到的结果:希尔排序(增量为5)得到__(1)__,快速排序(选第一个记录为基准元素)得到__(2)__,基数(基数为10)排序得到__(3)__,二路归并排序得到__(4)__,堆排序得到__(5)__。
(单选题)
对于给定的一组关键字(12,2,16,30,8,28,4,10,20,6,18),按照下列算法进行递增排序,写出每种算法第一趟排序后得到的结果:希尔排序(增量为5)得到__(1)__,快速排序(选第一个记录为基准元素)得到__(2)__,基数(基数为10)排序得到__(3)__,二路归并排序得到__(4)__,堆排序得到__(5)__。