免费智能真题库 > 历年试卷 > 程序员 > 2021年上半年 程序员 上午试卷 综合知识
  第40题      
  知识点:   线性表的顺序存储结构
  关键词:   数据        章/节:   常用数据结构       

 
( )是表示数据逻辑结构的术语。
 
 
  A.  哈希表
 
  B.  有序表
 
  C.  单链表
 
  D.  顺序表
 
 
 

  相关试题:常用数据结构          更多>  
 
  第37题    2019年上半年  
   51%
以下关于单链表存储结构特征的叙述中,不正确的是( )。
  第2题    2023年上半年  
   0%
以下关于栈和队列的叙述中,错误的是(37)。
  第38题    2016年下半年  
   30%
设元素a、b、c、d依次进入一个初始为空的栈,则不可能通过合法的栈操作序列得到(38)。
   知识点讲解    
   · 线性表的顺序存储结构
 
       线性表的顺序存储结构
        1)顺序表的概念
        线性表的顺序存储结构采用一组连续的存储单元依次存储线性表中的各数据元素。建立一个数组V,线性表的长度为NV[i]表示第i个分量,第i个分量是线性表中第i个元素ai在计算机存储器中的映象,即V[i]=ai。若线性表的第一个元素的存储地址是LOC(a1),每个元素用L个存储单元,则表的第i个元素的存储地址为:LOC(ai)=LOC(a1)+(i-1)*L
        假设线性表的数据元素的类型为ElemType(在实际应用中,此类型应根据实际问题中出现的数据元素的特性具体定义,如为int、float类型等),线性表的顺序表的C语言描述如下:
        
        从中可以看出,顺序表是由数组data和len两部分组成的。为了反映data和len之间的关系,上述类型定义中将它们说明为结构体类型Sqlist的两个域。这样,Sqlist类型就完全描述了顺序表的组织。
        2)基本运算在顺序表上的实现
        由于C语言中数组的下标是从0开始的,所以,在逻辑上所指的"第k个位置"实际上对应的是顺序表的"第k-1个位置"。这里仅给出在顺序表上线性表的插入和删除函数。
        (1)插入函数。
        插入函数的语法如下:
        
        (2)删除函数。
        删除函数的语法如下:
        
        3)插入和删除元素算法的时间复杂度分析
        (1)插入算法的时间复杂度。
        插入算法的时间复杂度的分析如下:
        
        其中pi是在第i个元素前插入元素的概率,ci是在第i个元素前插入元素时元素移动次数。
        (2)删除算法的时间复杂度。
        删除算法的时间复杂度的分析如下:
        
        其中pi是在第i个元素前删除元素的概率,ci是在第i个元素前删除元素时元素移动次数。
        可见,插入和删除算法的时间复杂度均为On)。
   题号导航      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 /
 
第40题    在手机中做本题