免费智能真题库 > 历年试卷 > 软件设计师 > 2018年上半年 软件设计师 上午试卷 综合知识
  第1题      
  知识点:   矩阵   深度优先遍历   数组
  关键词:   遍历   邻接矩阵   深度优先   时间复杂度   数组        章/节:   计算机软件知识       

 
对有n个结点、e条边且采用数组表示法(即邻接矩阵存储)的无向图进行深度优先遍历,时间复杂度为(1)。
 
 
  A.  O(n2)
 
  B.  O(e2)
 
  C.  O(n+e)
 
  D.  O(n*e)
 
 
 

  相关试题:数组          更多>  
 
  第62题    2020年下半年  
   53%
对数组A=(2,8,7,1,3,5,6,4)用快速排序算法的划分方法进行一趟划分后得到的数组A为(62)(非递减排序, 以最后一个元素为基准元素..
  第64题    2015年上半年  
   34%
在n个数的数组中确定其第i(1≤i≤n)小的数时,可以采用快速排序算法中的划分思想,对n个元素划分,先确定第k小的数,根据i和k..
  第40题    2021年上半年  
   51%
最大尺寸和问题描述为,在n个整数(包含负数)的数组A中,求之和最大的非空连续子数组,如数组A=(-2,11,-4,13,-5,-2) ,其中子数组B..
 
  第61题    2021年下半年  
   71%
归并排序算法在排序过程中,将待排序数组分为两个大小相同的子数组,分别对两个子数组采用归并排序算法进行排序,排好序的两个子数..
  第63题    2017年下半年  
   53%
求解两个长度为n的序列X和Y的一个最长公共序列(如序列ABCBDAB和BDCABA的一个最长公共子序列为BCBA)可以采用多种计算方法。如可..
  第21题    2018年下半年  
   13%
下面二叉树表示的简单算术表达式为( )。
 
  第61题    2016年上半年  
   62%
以下关于图的遍历的叙述中,正确的是(61)。
  第60题    2020年下半年  
   45%
某有向图如下所示,从顶点v1出发对其进行深度优先遍历,可能能得到的遍历序列是(60); 从顶点v1出发对其进行广度优先遍历,可能..
  第61题    2018年下半年  
   43%
图G的邻接矩阵如下图所示(顶点依次表示为v0、v1、v2、v3、v4、v5),G是(60)。对G进行广度优先遍历(从v0开始),可能的遍历序..
   知识点讲解    
   · 矩阵    · 深度优先遍历    · 数组
 
       矩阵
               特殊矩阵
               若矩阵中元素(或非零元素)的分布有一定的规律,则称之为特殊矩阵。常见的特殊矩阵有对称矩阵、三角矩阵、对角矩阵等。
               对称矩阵:若矩阵An×n中的元素有
               aij=aji1≤i,jn
               则称之为n阶对称矩阵。
               上(下)三角矩阵:矩阵的上(下)三角(不包括对角线)中的元素均为常数或零。
               对角矩阵:矩阵中的非零元素都集中在以主对角线为中心的带状区域中,即除了主对角线上和在对角线上、下方若干条对角线上的元素外,其余的矩阵元素都为零。
               稀疏矩阵
               在一个矩阵中,若非零元素的个数远远少于零元素的个数,且非零元素的分布没有规律,则称之为稀疏矩阵。存储稀疏矩阵的非零元素时必须同时存储其位置(行、列号),用三元组(i,j,aij)可唯一确定矩阵中的一个元素。因此,一个稀疏矩阵可由表示非零元素的三元组及其行、列数唯一确定。
               稀疏矩阵的三元组表的顺序存储结构称为三元组顺序表,常用的三元组表的链式存储结构是十字链表。
 
       深度优先遍历
        从图G中任一个顶点v出发,深度优先遍历(DFS)的算法步骤如下。
        (1)设立搜索指针p,使p指向顶点v
        (2)访问p顶点,并使p指向与p顶点相邻接的且尚未被访问过的顶点。
        (3)若p不空,则重复步骤(2);否则执行步骤(4)。
        (4)沿着刚才访问的次序、方向回溯到一个尚有邻接顶点且未被访问过的顶点,并使p指向这个未被访问的邻接顶点,然后重复步骤(2),直至所有的顶点均被访问为止。
        这个算法的特点是尽可能先对纵深方向搜索,因此可以很容易得到其遍历的递归算法。
        深度优先遍历图的过程实质上是对某个顶点查找其邻接节点的过程,其耗费的时间取决于所采用的存储结构。当图用邻接矩阵表示时,查找所有顶点的邻接点所需时间为O(n2)。若以邻接表作为图的存储结构,则需要O(e)的时间复杂度查找所有顶点的邻接点。因此,当以邻接表作为存储结构时,深度优先搜索遍历图的时间复杂度为O(n+e)。
 
       数组
               数组的定义及基本运算
               n维数组是一种"同构"的数据结构,其每个元素类型相同、结构一致。数组是定长线性表在维数上的扩张,即线性表中的元素又是一个线性表。
               数组结构的特点是:数据元素数目固定;数据元素具有相同的类型;数据元素的下标关系具有上下界的约束且下标有序。
               对数组进行的基本运算有以下两种。
               (1)给定一组下标,存取相应的数据元素。
               (2)给定一组下标,修改相应的数据元素中某个数据项的值。
               数组的顺序存储
               一旦定义了数组,结构中的数据元素个数和元素之间的关系就不再发生变动,因此数组适合于采用顺序存储结构。
               由于计算机的内存结构是一维线性的,因此存储多维数组时必须按照某种方式进行降维处理,即将数组元素排成一个线性序列,这就产生了次序约定问题。对二维数组有两种存储方式:一种是以列为主序的存储方式;另一种是以行为主序的存储方式。
               设每个数据元素占用L个单元,mn为数组的行数和列数,那么以行为主序优先存储的地址计算公式为
               Loc(aij)=Loc(a11)+((i-1)n+(j-1))L
               同样的,以列为主序优先存储的地址计算公式为
               Loc(aij)=Loc(a11)+((j-1)m+(i-1))L
   题号导航      2018年上半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第1题    在手机中做本题