🏷️ 知识点:线性表的顺序表示
下列叙述中,()是顺序存储结构的优点。
A. 存储密度大 B. 插入运算方便 C. 删除运算方便 D. 方便地运用于各种逻辑结构的存储表示
[tag_link]
正确答案:A
下列关于顺序表的叙述中,正确的是()。
A. 顺序表可以利用一维数组表示,因此顺序表与一维数组在逻辑结构上是相同的 B. 在顺序表中,逻辑上相邻的元素物理位置上不一定相邻 C. 顺序表和一维数组一样,都可以进行随机存取 D. 在顺序表中,每个元素的类型不必相同
[tag_link]
正确答案:C
通常说顺序表具有随机存取的特性,指的是()。 第 2 章 线 性 表19 第 2 章 线 性 表
A. 查找值为x 的元素的时间与顺序表中元素个数n 无关 B. 查找值为x 的元素的时间与顺序表中元素个数n 有 关 C. 查找序号为i 的元素的时间与顺序表中元素个数n 无关 D. 查找序号为i 的元素的时间与顺序表中元素个数 n 有关
[tag_link]
正确答案:C
一个顺序表所占用的存储空间大小与()无关。
A. 表的长度 B. 元素的存放顺序 C. 元素的类型 D. 元素中各字段的类型
[tag_link]
正确答案:B
若线性表最常用的操作是存取第i 个元素及其前驱和后继元素的值,为了提高效率,应 采用()的存储方式。
A. 单链表 B . 双链表 C. 循环单链表 D. 顺序表
[tag_link]
正确答案:D
一个线性表最常用的操作是存取任意一个指定序号的元素并在最后进行插入、删除操作, 则利用()存储方式可以节省时间。 A . 顺序表 B. 双链表
C. 带头结点的循环双链表 D. 循环单链表
[tag_link]
正确答案:A
在 n 个元素的线性表的数组表示中,时间复杂度为0(1)的操作是()。 I. 访问第i(1≤i≤n) 个结点和求第i(2≤i≤n) 个结点的直接前驱 Ⅱ. 在最后一个结点后插入一个新的结点 I. 删除第1个结点 IV. 在第i(1≤i≤n) 个结点后插入一个结点
A. I B.Ⅱ 、Ⅲ C.I 、Ⅱ D.I 、Ⅱ 、Ⅲ
[tag_link]
正确答案:C
设线性表有 n 个元素,严格说来,以下操作中,()在顺序表上实现要比在链表上实 现的效率高。 I. 输出第i(1≤i≤n) 个元素值 II. 交换第3个元素与第4个元素的值 ⅢI. 顺序输出这n 个元素的值
A. I B.I 、Ⅲ C.I 、Ⅱ D.Ⅱ 、Ⅲ
[tag_link]
正确答案:C
在一个长度为n 的顺序表中删除第i(1≤i≤n) 个元素时,需向前移动()个元素。
A. n B.i - 1 C.n - i D.n - i+1
[tag_link]
正确答案:C
对于顺序表,访问第i 个位置的元素和在第 i 个位置插入一个元素的时间复杂度为()。 A.O(n),O(n) B.O(n),O(1) C.O(1),O(n) D.O(1),O(1)
[tag_link]
正确答案:C
对于顺序存储的线性表,其算法时间复杂度为O(1) 的运算应该是()。
A. 将 n 个元素从小到大排序 B. 删除第i(1≤i≤n) 个元素 C. 改变第i(1≤i≤n) 个元素的值 D. 在第i(1≤i≤n) 个元素后插入一个新元素
[tag_link]
正确答案:C
顺序表的插入算法中,当n 个空间已满时,可再申请增加分配 m 个空间,若申请失败, 则说明系统没有()可分配的存储空间。
A. m 个 B. m 个连续 C. n+ m 个 D. n + m 个连续
[tag_link]
正确答案:D
从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位 置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。
[tag_link]
A
设计一个高效算法,将顺序表L 的所有元素逆置,要求算法的空间复杂度为O(1)。
[tag_link]
C
对长度为n 的顺序表L, 编写一个时间复杂度为O(n)、空间复杂度为0(1)的算法,该算 法删除顺序表中所有值为x 的数据元素。
[tag_link]
C
从顺序表中删除其值在给定值s 和 t 之间(包含s 和 t, 要求s<t) 的所有元素,若s 或 t 不合理或顺序表为空,则显示出错信息并退出运行。
[tag_link]
B
从有序顺序表中删除所有其值重复的元素,使表中所有元素的值均不同。
[tag_link]
D
将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表。
[tag_link]
A
已知在一维数组 A[m+n] 中依次存放两个线性表(a₁,a2,a3,…,a m)和(b₁,b₂,b₃…,bn) 。 编写一 个函数,将数组中两个顺序表的位置互换,即将(b₁,b₂,b₃…,b,) 放在(a₁,a₂,a₃,…,am) 的前面。
[tag_link]
C
线性表(a₁,a₂,a3,…,an) 中的元素递增有序且按顺序存储于计算机内。要求设计一个算法, 完成用最少时间在表中查找数值为x 的元素,若找到,则将其与后继元素位置相交换, 若找不到,则将其插入表中并使表中元素仍然递增有序。
[tag_link]
C
给定三个序列A 、B 、C, 长度均为n, 且均为无重复元素的递增序列,请设计一个时间 上尽可能高效的算法,逐行输出同时存在于这三个序列中的所有元素。例如,数组A 为 {1,2,3},数组B 为{2,3,4},数组C 为{-1,0,2},则输出2。要求: 1)给出算法的基本设计思想。 2)根据设计思想,采用C 或 C++ 语言描述算法,关键之处给出注释。 3)说明你的算法的时间复杂度和空间复杂度。
[tag_link]
C