数据结构习题2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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、用不带头结点的单链表存储队列时,其队头指针指向队头结点,