【10-1-8】在内排序的过程中,通常需要对待排序元素序列的关键字做多趟扫描。采用不同的排序方法将产生不同的排序中间结果,设要将集合{tang,deng,an,wan,shi,bai,fang,li}中的关键字按升序排列,则()是以第一个元素为分界元素的快速排序一趟扫描的结果。A.deng,an,tang,shi,bai,fang,li,wanB.deng,tang,an,wan,bai,shi,fang,liC.li,deng,an,shi,bai,fang,tang,wanD.shi,bai,an,li,tang,deng,fang,wan
A: 错误
B: 不正确
C: 选C。快速排序是一种分组的递归排序方法。它首先以第一个元素为轴点,对整个序列做一趟划分,将序列中所有元素分成两部分,关键字值比它小的在前半部分,关键字值比它大的在后半部分。再分别对这两个部分实施上述过程,一直重复到排序完成。选项C是采用两个检测指针交替扫描的一趟划分方法排序的结果。
D: 顺序不对
A: 错误
B: 不正确
C: 选C。快速排序是一种分组的递归排序方法。它首先以第一个元素为轴点,对整个序列做一趟划分,将序列中所有元素分成两部分,关键字值比它小的在前半部分,关键字值比它大的在后半部分。再分别对这两个部分实施上述过程,一直重复到排序完成。选项C是采用两个检测指针交替扫描的一趟划分方法排序的结果。
D: 顺序不对
举一反三
- 若对序列(tang,deng,an,wan,shi,bai,fang,liu)按字典顺序进行排序,在下面的8个序列中,分别指出:[br][/br](1)起泡排序第一趟的结果;[br][/br](2)初始步长为4的希尔排序第一趟的结果;[br][/br](3)以第一个元素为分界元素的快速排序第一趟的结果;[br][/br](4)堆排序时的初始堆积。[br][/br]①(fang,deng,an,liu,shi,bai,tang,wan)[br][/br]②(an,bai,deng,fang,liu,shi,tang,wan)[br][/br]③(deng,an,tang,shi,bai,fang,liu,wan)[br][/br]④(an,deng,tang,wan,shi,bai,fang,liu)[br][/br]⑤(an,deng,tang,wan,shi,bai,fang,liu)[br][/br]⑥(wan,tang,fang,liu,shi,bai,an,deng)[br][/br]⑦(liu,deng,an,fang,shi,bai,tang,wan)[br][/br]⑧(shi,bai,an,liu,tang,deng,fang,wan)
- 已知无序关键字序列{12,8,4,9,11,14,7},若采用快速排序算法进行升序排序,第一趟排序结果为___,___,___,___,___,___,___,第二趟排序结果为___,___,___,___,___,___,___。
- 某关键字序列R为(6,2,9,7,3,8,4,5,0,10),用下列各排序方法将R中的元素递增排序。(1)取第一个元素6作为划分基准,给出快速排序第一趟的结果。(2)给出将R调整成初始堆的过程。
- 关于快速排序不正确的描述是?( ) A: 快速排序是选择排序的一种排序方法 B: 快速排序需设立基准元素并划分序列来进行排序 C: 快速排序是一种分治算法 D: 通过一趟排序将待排序列分割成两部分,其中一部分记录的关键字均小于另一部分记录的关键字
- 在内部排序中,通常要对被排序数据序列进行多趟扫描。各种排序方法有其不同的排序实施过程和(时间)复杂性。对给定的整数序列(541,132,984,746,518,181,946, 314,205,827)进行从小到大的排序时,采用快速排序(以中间元素518为基准)的第一趟扫描结果是 9 。设被排序数据序列有n个元素,快速排序的复杂性是 10 。 10() A: O(nlbn) B: O(n2) C: O(1bn)2 D: O(n2lbn)