免费智能真题库 > 历年试卷 > 程序员 > 2021年下半年 程序员 上午试卷 综合知识
  第43题      
  知识点:   快速排序   快速排序   排序
  关键词:   快速排序   排序        章/节:   常用算法       

 
进行快速排序时,要求待排序的关键字序列采用()方式。
 
 
  A.  顺序存储
 
  B.  单向链表存储
 
  C.  散列存储
 
  D.  双向链表存储
 
 
 

 
  第43题    2018年上半年  
   49%
用某排序方法对一个关键码序列进行递增排序时,对于其中关键码相同的元素,若该方法可保证在排序前后这些元素的相对位置不变,则..
  第42题    2016年上半年  
   39%
对n个记录进行非递减排序,在第一趟排序之后,一定能把关键码序列中的最大或最小元素放在其最终排序位置上的排序算法是(42)。<..
  第36题    2009年上半年  
   48%
以下关于排序算法的叙述中,正确的是(36)。
   知识点讲解    
   · 快速排序    · 快速排序    · 排序
 
       快速排序
        快速排序是对冒泡排序的一种改进。先通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后分别对这两部分记录继续进行排序,使得整个序列有序。
 
       快速排序
        快速排序(Quick Sort)的主要思路为:通过对线性表序列的一趟扫描使某个结点移到中间的某个位置,且使其左边序列各结点的关键字都比该结点的关键字小,而其右边序列各结点的关键字都不比该结点的关键字小,常称这样的一次扫描为"划分"。然后,对左、右序列进行同样的处理,直到所有序列均只包含一个结点为止,这样便可将原线性表排好序。
        快速排序可以看作是冒泡排序的改进,冒泡排序可以看作是快速排序的退化,即每趟划分总是在同一端进行。
        若设待排序的记录序列{R1,R2,…,Rn}为R[1…n],则对其按关键值的非递减序列进行快速排序的算法如下:
        
        可见,快速排序可能会破坏两个相等记录的原来次序,因而快速排序算法是不稳定的。
 
       排序
        假设含n个记录的文件内容为{R1R2,…,Rn},其相应的关键字为{k1k2,…,kn}。经过排序确定一种排列{Rj1Rj2,…,Rjn},使得它们的关键字满足如下递增(或递减)关系:kj1≤kj2≤…≤kjn(或kj1kj2≥…≥kjn)。
   题号导航      2021年下半年 程序员 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第43题    在手机中做本题