数据结构与算法【含答案】第二章 线性结构 线性表单元测试

(1)单选题

下述哪一条是顺序存储结构的优点?( )

​A. 插入运算方便

B. 可方便用于各种逻辑结构的存储表示

C. 存储密度大

D. 删除运算方便

(2)单选题

若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。

‌A. 顺序表

B. 单循环链表

C. 双链表

D. 带头结点的双循环链表

(3)单选题

在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:( )【提高题】

‎A. p->next=s;s->next=p->next;

B. s->next=p->next;p->next=s;

C. p->next=s->next;p->next=s;

D. p->next=s;p->next=s->next;

(4)单选题

‏线性表是一个( )。

‌A. 有限序列,可以为空

B. 无限序列,不能为空

C. 有限序列,不能为空

D. 无限序列,可以为空

(5)单选题

‌对于一个线性表既要求能够进行较快速的插入和删除,又要求存储结构能够反映数据之间的逻辑关系,则应该用( )。

‌A. 链式存储方式

B. 顺序存储方式

C. 以上均可以

D. 散列存储方式

(6)单选题

​在链式存储结构中,数据之间的关系是通过( )体现的。

‎A. 数据的存储地址

B. 指示数据元素的指针

C. 指针

D. 数据在内存中的相对位置

(7)单选题

‍对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。删除一个元素时平均要移动表中的( )个元素。【提高题】

‏A. n

B. n/2

C. (n+1)/2

D. (n-1)/2

(8)单选题

‎将长度为n的单向链表链接在长度为m的单向链表之后的算法的时间复杂度为( )。

‍A. O(m+n)

B. O(m)

C. O(1)

D. O(n)

(9)单选题

‎线性表的动态链表存储结构与顺序存储结构相比,优点是( )。

‌A. 便于插入和删除

B. 所有的操作算法实现简单

C. 便于随机存取

D. 便于节省存储器空间

(10)单选题

‏数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为( )。

​A. 存储结构

B. 顺序存储结构

C. 链式存储结构

D. 逻辑结构

(11)判断题

链表中的头结点仅起到标识的作用。

‎A. 正确

B. 错误

(12)判断题

顺序存储结构的主要缺点是不利于插入或删除操作。( )

‍A. 正确

B. 错误

(13)判断题

顺序存储方式的优点是存储密度大,且插入、删除运算效率高。

‏A. 错误

B. 正确

(14)判断题

链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。

​A. 正确

B. 错误

(15)判断题

‌线性表中每个元素都有一个直接前驱和直接后继。

‎A. 错误

B. 正确

(16)判断题

‍顺序存储的线性表可以随机存取。

​A. 错误

B. 正确

(17)判断题

‏在单链表中,要访问每个结点,只要知道该结点的指针即可,因此,单链表是一种随机存取结构。

‏A. 正确

B. 错误

(18)判断题

‏在顺序表中取出第i个元素所花费的时间与i成正比。

​A. 错误

B. 正确

(19)判断题

‍在具有头结点的链式存储结构中,头指针均指向链表中的第一个数据结点。

‏A. 正确

B. 错误

(20)判断题

​线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。

​A. 正确

B. 错误

(21)填空题

已知指针p指向单链表L中的某结点,则删除其后继结点的语句是:q=p->next; ________________

(22)填空题

在单链表L中,指针p所指结点有后继结点的条件是:___________

(23)填空题

‍对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度为__________。

(24)填空题

‎对于一个具有n个结点的单链表,在给定值为x的结点后插入一个新结点的时间复杂度为___________。

(25)填空题

‎以下程序的功能是实现统计带头结点的单链表中具有给定值x的所有元素数,请填空完善之。【提高题】

‎typedef struct LNode{

ElemType data;

struct LNode *next

‎}LNode,*LinkList;

‎int Count(LinkList L,DataType x)

‎{

//在单链表中进行一趟检测,统计具有给定值x的结点,如果表空,返回0

int n=0;

LNode *p=L->next;

while(p)

{

if(_________)n++;

p=p->next;

}

return n;

‎}

‌获取答案请阅读全文

未经允许不得转载!数据结构与算法【含答案】第二章 线性结构 线性表单元测试