免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2021年上半年 数据库系统工程师 上午试卷 综合知识
  第10题      
  知识点:   排序   希尔排序   直接插入排序
  章/节:   计算机软件基础知识       

 
( )排序又被称为缩小增量排序,是对直接插入排序方法的改进。
 
 
  A.  简单选择
 
  B.  冒泡
 
  C.  快速
 
  D.  希尔
 
 
 

 
  第10题    2019年上半年  
   39%
已知有序数组a的前10000个元素是随机整数,现需查找某个整数是否在该数组中。以下方法中,( )的查找效率最高。
  第9题    2018年上半年  
   36%
用哈希表存储元素时,需要进行冲突(碰撞)处理,冲突是指()。
  第8题    2019年上半年  
   50%
对于给定的关键字序列{47, 34, 13, 12, 52, 38, 33, 27, 5},若用链地址法(拉链法)解决冲突来构造哈希表,且哈希函数为H(key)=..
   知识点讲解    
   · 排序    · 希尔排序    · 直接插入排序
 
       排序
        假设含n个记录的文件内容为{R1R2,…,Rn},其相应的关键字为{k1k2,…,kn}。经过排序确定一种排列{Rj1Rj2,…,Rjn},使得它们的关键字满足如下递增(或递减)关系:kj1≤kj2≤…≤kjn(或kj1kj2≥…≥kjn)。
 
       希尔排序
        希尔排序又称“缩小增量排序”,是对直接插入排序方法的改进。
        希尔排序的基本思想是:先将整个待排记录序列分割成若干子序列,然后分别进行直接插入排序,待整个序列中的记录基本有序时,再对全体记录进行一次直接插入排序。具体做法是:先取定一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1组,将所有距离为d1倍数的记录放在同一个组中,在各组内进行直接插入排序;然后取第二个增量d2d2<d1),重复上述的分组和直接插入排序过程,依此类推,直至所取的增量di=1(di<di-1<…d2<d1),即所有记录放在同一组进行直接插入排序为止。
        增量序列为5,3,1时,希尔插入排序过程如下图所示。
        
        希尔排序示例
        希尔排序是不稳定的排序方法。
 
       直接插入排序
        直接插入排序是一种简单的排序方法,具体做法是:在插入第i个记录时,R1R2,…,Ri-1己经排好序,这时将记录Ri的关键字ki依次与关键字ki-1ki-2,…,k1进行比较,从而找到Ri应该插入的位置,插入位置及其后的记录依次向后移动。
        【算法】直接插入排序算法。
        
        直接插入排序法在最好情况下(待排序列已按关键码有序),每趟排序只需作1次比较且不需要移动元素,因此n个元素排序时的总比较次数为n-1次,总移动次数为0次。在最坏情况下(元素已经逆序排列),进行第i趟排序时,待插入的记录需要同前面的i个记录都进行1次比较,因此,总比较次数为。排序过程中,第i趟排序时移动记录的次数为i+1(包括移进、移出temp),总移动次数为
        由此,直接插入排序是一种稳定的排序方法,其时间复杂度为On2)。排序过程中仅需要一个元素的辅助空间,空间复杂度为O(1)。
   题号导航      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 /
 
第10题    在手机中做本题