05 – 线性表 – 顺序表 – 选择题

1、线性表是具有n个数据元素的有限序列

2、顺序存储结构特点

答案

1、随机访问 – 能在O(1)时间内找到第i个元素 – 优点

2、存储密度高-优点

3、拓展容量不方便

4、插入、删除数据元素不方便

3、区别顺序表和一维数组

答案

顺序表是顺序存储的线性表,表中所有元素类型必须相同,且连续存放,逻辑上相邻的元素物理位置上也相邻

一维度数组元素可以不连续存放,此外栈、队列、树的逻辑结构也可用一维数组表示

4、线性表的顺序存储结构是一种随机存取结构(读写方式),注意:容易混淆顺序存取的存储结构

5、顺序表的随机存取特性指的是什么?

答案

查找序号为 i 的元素的时间与顺序表中元素的个数n无关

6、顺序表所占用的存储空间大小与什么有关

答案

1、表长;2、元素类型;3、元素中各字段的类型(这里说的是元素为结构体类型),则元素中各字段的类型也会影响存储空间的大小

7、在顺序表上比在链表上效率高的多的操作是什么?

答案

1、输出第 i 个的元素值;2、交换两个元素之间的值(3步)

8、在一个长度为n的顺序表中删除第 i 个元素,则需要向移动多少个元素

答案
05 - 线性表 - 顺序表 - 选择题

9、在第 i 个位置插入一个元素,则需要移动多少位元素

答案

需要移动n – i+1个元素

10、顺序表的插入算法实现原理(动态分配方式实现)- 将数据复制到新的区域,释放原来的内存空间

05 - 线性表 - 顺序表 - 选择题
05 - 线性表 - 顺序表 - 选择题

11、顺序表中查找指定元素可以采用顺序查找法或者折半查找,时间复杂度最少为O(logn)

顺序表的静态分配与动态分配方式的区别

特性静态分配动态分配
内存管理由系统自动管理需要手动管理(malloc/realloc/free
空间扩展性固定大小,无法扩展可动态扩容,适应数据变化
适用场景数据量已知且固定的场景数据量不确定或需频繁调整的场景
性能无需扩容,无额外开销扩容时需复制数据,有一定开销
风险可能导致空间浪费或不足可能引发内存泄漏或溢出

本网站原创文章版权归何大锤的狂飙日记所有。发布者:何大锤,转转请注明出处:何大锤的博客

(0)
何大锤的头像何大锤管理团队

相关推荐

  • 第二章数据结构线性表 – 带头结点的单链表

    一、单链表的定义和表示 – 带头结点的单链表 1、定义 单链表是由表头唯一确定,因此单链表可以用头指针的名字来命名 若头指针名是L,则把链表称为表L 2、单链表的存储结构 二、单链表基本操作的算法实现 – 带头结点的单链表 2.1 单链表的初始化 2.2 判断一个链表是否为空 一、带头结点的单链表代码实现 共6种函数代码 三、头插法创…

    3小时前
    200
  • 第二章数据结构线性表 – 单链表定义

    一、引言 1.1 知识框架 1.2 有了数组为什么还要链表? 在前面我们介绍过数组,数组中元素是存储在连续的内存位置在声明数组时,我们可以指定数组的大小,但这将限制数组可以存储的元素数量 例如我们声明的是 int arr[10],那么arr数组最多可以存储10个数据元素 但是我们事先不知道元素的大小呢? 我们该如何去做? 当然首先想到的是申请一个足够大的数组…

    6小时前
    200
  • 04 程序流程结构

    C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构 循环结构:依据条件是否满足,循环多次执行某段代码 顺序结构:程序按顺序执行,不发生跳转 选择结构:依据条件是否满足,有选择的执行相应功能 4.1 选择结构 4.1.1 if语句 作用:执行满足条件的语句 if语句的三种形式 示例: 注意:if条件表达式后不要加分号 示例: 示例: 嵌套if…

    3天前
    300
  • 初始C语言01

    0、什么是C语言? C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MC…

    4天前
    000
  • 01 你好Python

    一、课件

    4天前
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

2211932694

在线咨询: QQ交谈

邮件:hdcblog1999@163.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
网站建设中ing......