全部科目 > 程序员 >
2021年上半年 上午试卷 综合知识
第 40 题
知识点 线性表的顺序存储结构  
关键词 数据  
章/节 常用数据结构  
 
 
( )是表示数据逻辑结构的术语。
 
  A.  哈希表
 
  B.  有序表
 
  C.  单链表
 
  D.  顺序表




 
 
相关试题     常用数据结构 

  第30题    2023年下半年  
若有字符串"software",则其长度为3的子串有( )个。

  第37题    2024年上半年  
已知某二叉树的先序遍历序列是ABDCE,中序遍历序列是BDAEC,则该二叉树为(33)

  第37题    2010年上半年  
队列是一种按“先进先出”原则进行插入和删除操作的数据结构。若初始队列为空,输入序列为abede,则可得到的输出序列为(37)

 
知识点讲解
· 线性表的顺序存储结构
 
        线性表的顺序存储结构
        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)。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有