数据结构习题2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构习题

一、选择题

1、线性表是具有n个(n>=0)()的有限序列。

A.表元素 B. 字符 C. 数据元素 D. 数据项

2、顺序存储结构的优点( ).

A.存储密度大 B. 插入运算方便

C. 删除运算方便

D. 可方便地用于各种逻辑结构的存储

表示

3、带头结点的单链表head为空的判断条件是( ).

A.head= =NULL B. head->next= =NULL

C.head->next= =head D. head!=NULL

4、若线性表中最常用的操作是在最后一个元素之后插入一个元素和

删除第一个元素,则采用( )存储方式最节省运算时间。

A.单链表B.仅有头指针的单循环链表

C.双链表D.仅有尾指针的单循环链表

5、若线性表最常用的操作是存取任一指定序号的元素和在最后进行

插入和删除运算,则利用( )存储方式最节省时间

A.顺序表B.双链表

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

6、设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选

用( )最节省时间。

A.单链表B.单循环链表

C.带尾指针的单循环链表D.带头结点的双循环链表

**7、静态链表中指针表示的是( ).

A.内存地址B.数组下标

C.下一元素地址D.左右孩子指针

8、链表不具有的特点是( )

A.插入删除不需要移动空间B.可随机访问任一元素

C.不必事先估计存储空间D.所需空间与线性长度成正比9、线性表的静态链表存储结构与顺序存储结构相比的优点( ).

A.所有的操作算法简单C.便于插入和删除

C.便于利用零散的存储空间D.便于随机存储

10、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一

个新元素,算法的时间复杂度( )。

A.O(log2n) B.O(1) C.O(n)D.O(n2)

11、线性表(a1,a2,…an)以连接方式存储时,访问第i个位置的元素的

时间复杂度为( ).

A.O(i) B.O(1) C.O(n) D.O(i-1)

12、将两个各有n个元素的有序表归并为一个有序表,其最少的比较

次数为( ).

A.n B.2n-1 C.2n D.n-1

13、非空的单循环链表head的尾结点p满足( )。

A.p->next= =head B.p->next= =NULL

C.p= =NULL D.P= =NULL

14、在双循环链表p所指结点之后插入s结点的操作时( )。

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

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

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

D.s->prior=p; s->next=p->next; p->next->prior=s; p->next=s; 15、在一个单链表中,已知q所指结点的前驱结点,若在q结点和p

结点之间插入s结点,则执行( ).

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

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

16、对于栈,操作数据的原则是( ).

A.先进先出B.后进先出

C.后进后出D.不分顺序

17、设有一顺序栈,元素s1、s2、s3、s4、s5、s6依次进栈,如果6个

元素出栈的顺序是s2、s4、s3、s6、s5、s1,则栈的容量至少应该是( ).

A.2 B.3c.5 D.6

18、设已将元素a1、a2、a3依次进栈,元素a4正等待进栈。那下列

4个序列不可能出现的出栈序列是( ).

A.a3、a1、a4、a2B.a3、a2、a4、a1

C.a3、a4、a2、a1 D.a4、a3、a2、a1

19、向一个栈顶指针为p的链栈中插入一个s所指结点时,其操作步

骤为( ).

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

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

20、从栈顶指针为p的链栈中删除一个结点,并将被删除结点的值保

存到x中,其操作步骤为( ).

A.x=p->data; p=p->next; B.p=p->next; x=p->data;

C.x=p; p=p->next; D.x=p->data;

21、链栈与顺序栈相比,有一个较明显的优点( ).

A.链栈不会出现栈满的情况B.通常不会出现栈空的情况C.插入操作更加方便D.删除操作更加方便

22、为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享

一片连续的内存空间时,应将两栈的( )分别设在这片内存空间的两端。

A.长度B.深度C.栈顶D.栈底

23、设数组A[m]作为循环队列sq的存储空间,front为队首指针,rear

为队尾指针,则执行入队操作时修改指针的语句是( )

A.sq.front=(sq.front+1)%m B.sq.front=(sq.front+1)%(m+1) C.sq.rear=(sq.rear+1)%m D.sq.rear=(sq.rear+1)%(rear+1) 24、在一个链队列中,若s、r分别为队首、队尾指针,则插入s所指

结点的操作为( ).

A.f->next=s; f=s; B.r->next=s; r=s;

C.s->next=r; r=s; D.s->next=f; f=s;

25、用不带头结点的单链表存储队列时,其队头指针指向队头结点,

相关文档
最新文档