判断题
1.(neuDS)所谓随机存取,就是通过首地址和元素的位序号值可以在O(1)的时间内找到指定的元素。
T F
2.(neuDS)在顺序表上进行插入、删除操作时需要移动元素的个数与待插入或待删除元素的位置无关。
T F
3.顺序存储方式只能用于存储线性结构。
T F
4.在顺序表中取出第i个元素所花费的时间与i成正比。
T F
5.对于顺序存储的长度为N的线性表,删除第一个元素和插入最后一个元素的时间复杂度分别对应为O(1)和O(N)。
T F
6.(neuDS)在顺序表中逻辑上相邻的元素,其对应的物理位置也是相邻的。
T F
7.顺序存储的线性表可以随机存取。
T F
8.顺序存储结构的主要缺点是不利于插入或删除操作。
T F
选择题
1.用数组表示线性表的优点是()。
A.便于插入和删除操作
B.便于随机存取
C.可以动态地分配存储空间
D.不需要占用一片相邻的存储空间
2.阅读下列程序,其功能是()。
typedef struct {
ElemType *list;
int size;
intMaxSize;
}SeqList;
void fun1(SeqList&L) {
inti, j;
ElemType temp;
for (i=0, j= L.sise-1; i<j; i++, j--) {
temp=L.list[i];
L.list[i]=L.list[j];
L.list[j]=temp;
}
}
A.将顺序表原地逆置
B.将链表原地逆置
C.将顺序表首尾元素对换
D.将链表首尾元素对换
3.顺序存储表示中数据元素之间的逻辑关系是由( )表示的。
A.指针
B.逻辑顺序
C.存储位置
D.问题上下文
4.顺序表的优点是( )。
A.插入操作的时间效率高
B.适用于各种逻辑结构的存储表示
C.存储密度(存储利用率)高
D.删除操作的时间效率高
5.若线性表最常用的操作是存取第i个元素及其前驱的值,则采用( )存储方式节省时间。
A.单链表
B.双向链表
C.单循环链表
D.顺序表
6.数组A[1..5,1..6]每个元素占5个单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为:
A.1120
B.1125
C.1140
D.1145
7.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用哪种存储方式最节省时间?
A.双链表
B.单循环链表
C.带头结点的双循环链表
D.顺序表
8.若长度为n的线性表采用顺序结构,在第i个数据元素之前插入一个元素,需要它依次向后移动()个元素。
A.n-i
B.n-i+1
C.n-i-1
D.i
9.已知线性表中的元素以值递增有序排列,阅读下列程序,该算法的功能是()。
typedef struct {
ElemType *list;
int size;
intMaxSize;
}SeqList;
void fun3(SeqList&L, ElemType min, ElemType max){
inti=0, j, k, d;
while(i<L.size&&L.list[i]<=min)
i++;
j = i;
while (j<L.size&&L.list[j]<max)
j++;
d = j-i;
if ( d==0) return;
for (k=j; k<L.size; k++) L.list[k-d] = L.list[k];
L.size = L.size - d;
}
A.删除顺序表中所有值小于min或大于max的元素
B.将顺序表中值大于min且小于max的元素向前移动
C.删除顺序表中所有值大于min且小于max的元素
D.将顺序表中值大于max的元素向前移动min个位置
10.对于顺序表的优缺点,以下说法错误的是( )。
A.无需为表示结点间的逻辑关系而增加额外的存储空间
B.可以方便地随机存取表中的任一结点
C.插入和删除运算较方便
D.容易造成一部分空间长期闲置而得不到充分利用
11.串是一种特殊的线性表,其特殊性体现在()。
A.可顺序存储
B.数据元素是一个字符
C.可链接存储
D.数据元素可以是多个字符