判断题
1-1
顺序存储方式只能用于存储线性结构。F
1-2
在顺序表中取出第i个元素所花费的时间与i成正比。F
1-3
线性表的顺序存储表示优于链式存储表示。F
1-4
带头结点的单循环链表中,任一结点的后继结点的指针域均不空。T
1-5
顺序表 - 存储结构
顺序表中逻辑上相邻的元素,其物理位置一定相邻。T
1-6
链式存储的优点是插入、删除元素时不会引起后续元素的移动,缺点是只能顺序访问各元素。T
1-7
线性表若采用链式存储结构时,要求内存中可用存储单元的地址一定不连续。F
1-8
链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。T
1-8
链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。T
1-8
链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。F
1-11
在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数与该元素的位置有关。T
1-12
顺序存储方式的优点是存储密度大,且插入、删除运算效率高。F
1-12
顺序存储方式的优点是存储密度大,且插入、删除运算效率高。F
1-12
顺序存储方式的优点是存储密度大,且插入、删除运算效率高。T
1-12
顺序存储方式的优点是存储密度大,且插入、删除运算效率高。F
1-12
顺序存储方式的优点是存储密度大,且插入、删除运算效率高。F
1-12
顺序存储方式的优点是存储密度大,且插入、删除运算效率高。F
1-12
顺序存储方式的优点是存储密度大,且插入、删除运算效率高。T
1-12
顺序存储方式的优点是存储密度大,且插入、删除运算效率高。F
1-12
顺序存储方式的优点是存储密度大,且插入、删除运算效率高。T
选择题
2-1
在一个长度为n的顺序表中,向第i个元素(1≤i≤n+1)位置插入一个新元素时需要从后向前移动多少个元素。
(2分)
A.
n-i
B.
n-i+1
C.
n-i-1
D.
i
作者
袁科
单位
湖北汽车工业学院
2-2
对于线性表,在顺序存储结构和链式存储结构中查找第k个元素,其时间复杂性分别是多少?
(2分)
A.
都是O(1)
B.
都是O(k)
C.
O(k)和O(1)
D.
O(1)和O(k)
作者
王俊玲
单位
集美大学
2-3
在顺序结构表示的线性表中,删除第i个元素(数组下标为i-1),需要把后面的所有元素都往前挪一位,相应的语句是:
for (___________ )
PtrL->Data[j-1]=PtrL->Data[j];
其中空缺部分的内容应该是
(2分)
A.
j = i; j< = PtrL->Last; j++
B.
j =PtrL->Last; j>= i; j–
C.
j = i-1; j< = PtrL->Last; j++
D.
j =PtrL->Last; j>= i-1; j–
作者
王俊玲
单位
集美大学
2-4
向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动的元素个数为( )
(2分)
A.
8
B.
63.5
C.
63
D.
7
作者
王东
单位
贵州师范学院
2-5
顺序表是线性表的( )
(2分)
A.
链式存储结构
B.
顺序存储结构
C.
索引存储结构
D.
散列存储结构
作者
YJ
单位
西南石油大学
2-6
以下说法错误的是 ( )。
(2分)
A.
对于线性表来说,定位运算LocateElem在顺序表和单链表上的时间复杂度均为O(n)
B.
插入、删除操作在顺序表上的实现,平均时间复杂度为O(n)
C.
在链表上实现读表元运算的平均时间复杂度为O(1)
D.
插入、删除操作在链表上的实现可在O(1)时间内完成
作者
高磊
单位
西南石油大学
2-7
哪个选项不是线性表的链式存储结构( )
(2分)
A.
单链表
B.
顺序表
C.
循环链表
D.
双向链表
作者
高磊
单位
西南石油大学
2-8
在向表中第i个元素(1≤i≤n+1)位置插入一个新元素时,为保持插入后表中原有元素的相对次序不变,需要从后向前依次后移( )个元素。
(2分)
A.
n-i
B.
n-i+1
C.
n-i-1
D.
i
作者
李廷元
单位
中国民用航空飞行学院
2-9
在删除表中第i个元素时,同样地,为保持删除后表中原有元素的相对次序不变,需要从前向后依次前移( )个元素。
(2分)
A.
n-i
B.
n-i+1
C.
n-i-1
D.
i
作者
李廷元
单位
中国民用航空飞行学院
2-10
与单链表相比,双链表的优点之一是()。
(2分)
A.
插入、删除操作更加简单
B.
可随机访问
C.
可以省略表头指针或表尾指针
D.
顺序访问相邻结点更加灵活
作者
严冰
单位
浙大城市学院
2-11
在单链表中,要删除某一指定结点,必须先找到该结点的()。
(2分)
A.
直接前驱
B.
自身位置
C.
直接后继
D.
直接后继的后继
作者
严冰
单位
浙大城市学院
2-12
循环链表的主要优点是()。
(2分)
A.
不再需要头指针了
B.
已知某个结点的位置后,能够很容易找到它的直接前驱
C.
在进行插入、删除运算时,能更好的保证链表不断开
D.
从表中的任意结点出发都能扫描到整个链表
作者
严冰
单位
浙大城市学院
2-13
若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用()存储方式最节省运算时间。
(2分)
A.
单链表
B.
给出表头指针的单循环链表
C.
双链表
D.
带表头附加结点的双循环链表
作者
严冰
单位
浙大城市学院
2-14
单链表又称为线性链表,在单链表上实施插入和删除操作( )。
(2分)
A.
不需移动结点,不需改变结点指针
B.
不需移动结点,只需改变结点指针
C.
只需移动结点,不需改变结点指针
D.
既需移动结点,又需改变结点指针
作者
李廷元
单位
中国民用航空飞行学院
2-15
链表不具有的特点是( )。
(2分)
A.
可随机访问任一个元素
B.
插入删除不需要移动元素
C.
不必事先估计存储空间
D.
所需空间与线性表长度成正比
作者
DS课程组
单位
临沂大学
2-16
下面关于线性表的叙述中,错误的是____。
(2分)
A.
线性表采用顺序存储,必须占用一片连续的存储单元。
B.
线性表采用顺序存储,便于进行插入和删除操作。
C.
线性表采用链式存储,不必占用一片连续的存储单元。
D.
线性表采用链式存储,便于进行插入和删除操作。
作者
李廷元
单位
中国民用航空飞行学院
2-17
单链表L(带头结点)为空的判断条件是____。
(2分)
A.
L==NULL
B.
L->next==NULL
C.
L->next!=NULL
D.
L!=NULL
作者
李廷元
单位
中国民用航空飞行学院
2-18
在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:( )。
(2分)
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
作者
高磊
单位
西南石油大学
2-19
对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是( )
(2分)
A.
head==NULL
B.
head→next==NULL
C.
head→next==head
D.
head!=NULL
作者
高磊
单位
西南石油大学
2-20
设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。
(2分)
A.
单链表
B.
单循环链表
C.
带尾指针的单循环链表
D.
带头结点的双循环链表
作者
高磊
单位
填空题
4-1
顺序表 - 地址计算
假设顺序表中有 10 个数据元素。其中第 1 个元素的地址(即数组的起始地址)是 100,每个元素占用 2 字节内存空间,则第 5 个元素的地址是 108。
4-2
在有n个元素的顺序表中删除任意一个元素所需移动元素的平均次数为
n/2。
4-3
在有n个元素的顺序表中的任意位置插入一个元素所需移动元素的平均次数为n/2。
4-4
在长度为n的顺序表L中将所有值为x的元素替换成y,该算法的时间复杂度为O(n)。
4-5
在顺序表中,逻辑上相邻的元素,其物理位置一定相邻。在单链表中,逻辑上相邻的元素,其物理位置不一定 相邻。
4-6
对于顺序表的插入算法insert_sqlist来说,若以结点移动为标准操作,则插入算法的在最坏情况下的移动次数为n,时间复杂度是O(n)。在平均情况下的移动次数为n/2,时间复杂O(n)。
4-7
线性表L=(a1, a2, … , an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是n/2
。