数据结构学习综合题及答案(4)
选择题
第1题
链表不具有的特点是()。
不必事先估计存储空间
可随机访问任一元素 (答案)
插入删除不需要移动元素
所需空间与线性表长度成正比
第2题
顺序存储设计时,各结点之间的的存储单元地址 ( )。
不一定连续
一定连续 (答案)
部分连续
一定不连续
第3题
链式存储设计时,各结点之间的的存储单元地址 ( )。
不一定连续 (答案)
一定连续
部分连续
一定不连续
第4题
设引用q指向单链表中结点A,引用p指向单链表中结点A的后继结点B,引用s指向被插入的结点X,则在结点A和结点B之间插入结点X的操作序列为( )。
s.setnext(p.getNext());p.setNext(s);
q.setNext(s); s.setNext§; (答案)
p.setnext(s.getNext());s.setNext§;
p.setNext(s);s.setNext(q);
第5题
设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列( )存储方式最节省运算时间。
单向链表
单向循环链表
双向链表
双向循环链表 (答案)
第6题
设引用变量p指向双向链表中结点A,引用变量s指向被插入的结点X,则在结点A的后面插入结点X的操作序列为( )。
p.setNext(s); s.setPrior§; (p.getNext).setPrior(s); s.setNext(p.getNext);
s.setPrior§;s.setNext(p.getNext); p.setNext(s);(p.getNext).setPrior(s);
p.setNext(s);(p.getNext).setPrior(s); s.setPrior§; s.setNext(p.getNext);
s.setPrior§;s.setNext(p.getNext); (p.getNext).setPrior(s);p.setNext(s); (答案)
第7题
设顺序线性表中有n个数据元素,则在表中第i个位置插入元素需要移动( )个元素。
n-i
n+l -i (答案)
n-1-i
i
第8题
设顺序线性表中有n个数据元素,则删除表中第i个元素需要移动( )个元素。
n-i (答案)
n+l -i
n-1-i
i
第9题
建立一个长度为n的有序单链表的时间复杂度为( )
O(n)
O(1)
O(n2) (答案)
(log2n)
第10题
设不带头结点的单向循环链表的头应用变量为head,则其判空条件是( )。
head==null (答案)
head.next==null
head.next==head
head!= null
第11题
设带有头结点的单向循环链表的头引用变量为head,则其判空条件是( )。
head==null
head.next== null
head.next==head (答案)
head!= null
第12题
设一条单链表的头应用变量为head且该链表带有头结点,则其判空条件是( )
head==null
head.next== null (答案)
head.next==head
head!= null
第13题
设一条单链表的头引用变量为head且该链表没有头结点,则其判空条件是( )
head==NULL (答案)
head.getNext( )==null
head.getNext( )==head
head!=null
第14题
设一个有序的单链表中有n个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时间复杂度为( )。
O(log2n)
O(1)
O(n2)
O(n) (答案)
第15题
设引用变量p指向单链表中结点A的前驱结点,若删除单链表中结点A,则需要进行的操作序列为( )。
q=p.getNext( );p.setData(q.getData());p.setNext(q.getNext());
q=p.getNext( );q.setData(p.getData());p.setNext(q.getNext());
q=p.getNext( );p.setNext(q.getNext()); (答案)
q=p.getNext( );p.setData(q.getData());
第16题
设引用变量p指向单链表中结点A,若删除单链表中结点A,则需要进行的操作序列为( )。
q=p.getNext();p.setData(q.getData);p.setNext(q.getNext()); (答案)
q=p.getNext();q.setData(p.getData);p.setNext(q.getNext());
q=p.getNext();p.setNext(q.getNext());
q=p.getNext();p.setData(q.getData);
第17题
下面关于线性表的叙述错误的是( )。
线性表采用顺序存储必须占用一片连续的存储空间
线性表采用链式存储不必占用一片连续的存储空间
线性表采用链式存储便于插入和删除操作的实现
线性表采用顺序存储便于插入和删除操作的实现 (答案)
判断题
第1题
双向链表可随机访问任一结点。
标准答案:F
第2题
链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序表中效率高。
标准答案:T
第3题
循环链表不是线性表。
标准答案:F
第4题
取线性表的第i个元素的时间同i的大小有关。
标准答案:F
第5题
线性表就是顺序存储的表。
标准答案:F
第6题
线性表中每个元素都有一个直接前驱和一个直接后继。
标准答案:F
第7题
顺序存储方式只能用于存储线性结构。
标准答案:F
第8题
线性表采用链式存储结构时,结点和结点内部的存储空间可以是不连续的。
标准答案:F
第9题
顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。
标准答案:F
第10题
取顺序表的第i个元素的时间与i的大小有关。
标准答案:F
第11题
在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。
标准答案:F
第12题
为了方便插入和删除,可以使用双向链表存放数据。
标准答案:T
第13题
循环链表可以在尾部设置头指针。
标准答案:T
第14题
在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上不一定紧邻。
标准答案:F
第15题
对任何数据结构,链式存储结构一定优于顺序存储结构。
标准答案:F
第16题
线性表采用链表存储时,存储空间可以是不连续的。
标准答案:T
第17题
链表中的头结点仅起到标识作用。
标准答案:F
第18题
单链表从任何一个结点出发,都能访问到所有结点。
标准答案:F
第19题
线性表中的每个结点最多只有一个前驱和一个后继。
标准答案:T
第20题
线性表若采用链式存储表示时,其存储结点的地址可连续也可不连续。
标准答案:T
第21题
在顺序表中,逻辑上相邻的元素在物理位置上不一定相邻。
标准答案:F
第22题
双向循环链表的结点与单链表的结点结构相同,只是结点间的连接方式不同。
标准答案:F
第23题
在对双向循环链表做删除一个结点操作时,应先将被删除结点的前驱结点和后继结点链接好再执行删除结点操作。
标准答案:T
第24题
循环链表的结点与单链表的结点结构完全相同,只是结点间的连接方式不同。
标准答案:T
第25题
线性表若采用链式存储表示, 在删除时不需要移动元素。
标准答案:T
第26题
在线性链表中删除中间的结点时,只需将被删结点释放。
标准答案:F
第27题
顺序存储的线性表可以按序号随机存取。
标准答案:T
第28题
在长度为n的顺序表中,求第i个元素的直接前驱算法的时间复杂度为0(1)。
标准答案:T
第29题
线性表的顺序存储优于链式存储。
标准答案:F
第30题
线性表的逻辑顺序总是与其物理顺序一致。
标准答案:F