首页 > 试题广场 >

排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一“

[单选题]
排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一“趟”。下列序列 中,不可能是快速排序第二趟结果的是
  • 5, 2, 16, 12, 28, 60, 32, 72
  • 2, 16, 5, 28, 12, 60, 32, 72
  • 2, 12, 16, 5, 28, 32, 72, 60
  • 5, 2, 12, 28, 16, 32, 72, 60
快速排序如第一趟确定的值是首尾元素,则第二趟只能确定一个数;如第一趟确定的是中间元素,则第二趟会确定两个元素,在递归实现中表示为,左右分别要递归一次,得出两个值
发表于 2020-11-23 12:15:39 回复(2)
发表于 2021-06-06 21:07:31 回复(0)
A中,第一次快排选的基准值是72,第二次的基准值是28
B中,第一次的基准值是72,第二次的是2
C中,第一次的基准值是28,第二次的基准值是2 和32.
发表于 2020-10-22 20:49:37 回复(0)
发表于 2023-02-04 17:44:45 回复(0)
  1. 快速排序每趟都将基准元素放在其最终位置,然后以它为基准将序列划分为两个子序列,基准左边都比基准小,右边都比基准大
  2. 排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一 “趟”,故快速排序第一趟被枢轴分成的两个子序列在第二趟中应该各放一个枢轴在最终位置(也即如果第一趟的枢轴在中间,第二趟应该至少有3个元素在最终位置),如果枢轴的位置正好在首端或尾端,那第一趟就只被分成了一个序列,那第二趟只能放一个枢轴在最终位置(也即如果枢轴在首尾,第二趟应该至少有2个元素在最终位置)
发表于 2022-09-24 11:01:55 回复(0)