免费智能真题库 > 历年试卷 > 软件设计师 > 2022年上半年 软件设计师 上午试卷 综合知识
  第62题      
  知识点:   分治法
  关键词:   快速排序   时间复杂度   数组   算法   排序        章/节:   计算机软件知识       

 
快速排序算法在排序过程中,以待排序数组的第一个元素作为基准元素,将待排序数组划分为前后两个子数组,前面的子数组中的元素均小于或等于基准元素,后面的子数组中的元素均大于基准元素,划分过程的时间复杂度为(n);继续分别对两个子数组采用快速排序算法进行排序。根据上述摧述,央速排序算法采用了(62)算法设计策略。快返排序算法在最好和最坏情况下的时间复杂度分别为(63
 
 
  A.  分治
 
  B.  动态规划
 
  C.  贪心
 
  D.  回溯
 
 
 

  相关试题:计算机软件知识          更多>  
 
  第24题    2014年下半年  
   37%
假设段页式存储管理系统中的地址结构如下图所示,则系统()。
  第63题    2022年上半年  
   100%
快速排序算法在排序过程中,以待排序数组的第一个元素作为基准元素,将待排序数组划分为前后两个子数组,前面的子数组中的元素均..
  第56题    2014年上半年  
   57%
假定某企业2014年5月的员工工资如下表所示:

   知识点讲解    
   · 分治法
 
       分治法
               递归的概念
               递归是指子程序(或函数)直接调用自己或通过一系列调用语句间接调用自己,是一种描述问题和解决问题的常用方法。
               递归有两个基本要素:边界条件,即确定递归到何时终止,也称为递归出口;递归模式,即大问题是如何分解为小问题的,也称为递归体。
               分治法的基本思想
               分治法的设计思想是将一个难以直接解决的大问题分解成一些规模较小的相同问题,以便各个击破、分而治之。如果规模为n的问题可分解成k个子问题,1<kn,这些子问题互相独立且与原问题相同。分治法产生的子问题往往是原问题的较小模式,这就为递归技术提供了方便。
               一般来说,分治算法在每一层递归上都有3个步骤。
               (1)分解。将原问题分解成一系列子问题。
               (2)求解。递归地求解各子问题。若子问题足够小,则直接求解。
               (3)合并。将子问题的解合并成原问题的解。
   题号导航      2022年上半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第62题    在手机中做本题