一、单选题
1
以下数据结构中,哪一个是线性结构
A、广义表
B、二叉树
C、稀疏矩阵
D、串
正确答案:A
2
以下哪个数据结构不是多型数据类型
A、栈
B、广义表
C、有向图
D、字符串
正确答案:D
3
设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。
A、单链表
B、单循环链表
C、带尾指针的单循环链表
D、带头结点的双循环链表
正确答案:D
4
在单链表指针为 p 的结点之后插入指针为 s 的结点,正确的操作是:( )。
A、p->next=s;s->next=p->next;
B、 s->next=p->next;p->next=s;
C、p->next=s;p->next=s->next;
D、 p->next=s->next;p->next=s;
正确答案:B
5
若长度为 n 的线性表采用顺序存储结构,在其第 i 个位置插入一个新元素的算法的时间复杂度为( )(1<=i<=n+1)
A、O(0)
B、O(1)
C、O(n)
D、O(n^2)
正确答案:C
6
数组 A[0…5,0…6]的每个元素占五个字节,将其按列优先次序存储在起始地址为 1000 的内存单元中,则元素 A[5,5]的地址是( )。
A、1175
B、1180
C、1205
D、1210
正确答案:A
7
设有数组 A[i,j],数组的每个元素长度为 3 字节,i 的值为 1 到 8 ,j 的值为 1 到 10,数组从内存首地址 BA 开始顺序存放,当用以列为主存放时,元素 A[5,8]的存储首地址为( )。
A、BA+141
B、BA+180
C、BA+222
D、BA+225
正确答案:B
8
广义表((a,b,c,d))的表头是( ),表尾是( )。
A、a
B、()
C、(a,b,c,d)
D、(b,c,d)
正确答案:C
9
对稀疏矩阵进行压缩存储目的是( )。
A、便于进行矩阵运算
B、便于输入和输出
C、节省存储空间
D、降低运算的时间复杂度
正确答案:C
二、填空题
1
线性表 L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要
移动元素的个数是________。
正确答案:(n-1)/2
2
对于一个具有 n 个结点的单链表,在已知的结点*p 后插入一个新结点的时间复杂度为________,在给定值为 x 的结点后插入一个新结点的时间复杂度为________。
正确答案:O(1);O(n)
3
当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_______存储结构。
正确答案:顺序
三、计算题
1
设有三维数组 A[-2:4,0:3,-5:1]按列序存放,数组的起始地址为 1210,试求 A(1,3,-2)所在的地址。
正确答案:
1210+108L (LOC(A[1,3,-2])=1210+[(k-c3)v2v1+(j-c2)v1+(i-c1)]*L(设每个元素占L个存储单元)
四、判断题
1
对任何数据结构链式存储结构一定优于顺序存储结构。
正确答案:×
2
链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。
正确答案:×
3
线性表的特点是每个元素都有一个前驱和一个后继。
正确答案:×
4
算法的优劣与算法描述语言无关,但与所用计算机有关。
正确答案:×
5
数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构.
正确答案:×