欢迎来到天天文库
浏览记录
ID:11769805
大小:2.68 MB
页数:36页
时间:2018-07-13
《计算机软件技术基础题库》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第1章数据结构一、选择题1.算法指的是(D)。A计算机程序B解决问题的计算方法C排序方法D解决问题的有限运算序列2.在数据的树形结构中,数据元素之间为(C)的关系。A0:0B1:1C1:nDm:n3.数据的存储结构包括顺序、链接、散列和(A)4种基本类型。A索引B数组C集合D向量4.一个数组元素a[i]与(B)的表示等价。A&a+iB*(a+i)C*a+iDa+i7.下面程序的时间复杂性的量级为(C)。inti=0,s1=,s2=0;while(i++2、=i;}A.O(1)B.O(1bn)C.O(n)D.O(2n)8.下面程序段的时间复杂度为(D)。for(inti=0;i3、素(1≤i≤n+1)位置插入一个元素时,需要从后向前依次后移(B)个元素。A.n-iB.n-i+lC.n-i-lD.i11.在一个长度为n的顺序存储结构的线性表中,删除第i个元素(1≤i≤n+1)时,需要从前向后依次后移(A)个元素。A.n-iB.n-i+lC.n-i-lD.i12.在一个长度为n的线性表中,删除值为x的元素时需要比较元素和移动元素的总次数为(C)。A.(n+1)/2B.n/2C.nD.n+113.在一个顺序表的表尾插入一个元素的时间复杂度为(B)。A.O(n)B.O(1)C.O(n4、*n)D.O(lbn)14.在一个顺序表中的任何位置插入一个元素的时间复杂度为(A)。36A.O(n)B.O(n/2)C.O(1)D.O(n2)15.在一个单链表中删除p所指向结点的后继结点时,其算法的时间复杂度为(C)。A.O(n)B.O(n/2)C.O(1)D.O(n2)16.线性表的链式存储比顺序存储更有利于进行(D)操作。A.查找B.表尾插入和删除C.按值插入和删除D.表头的插入和删除17.线性表的顺序存储比链式存储更有利于进行(B)操作。A.查找B.表尾插入和删除C.按值插入和删除D.表头5、的插入和删除18.在一个单链表中,若要在P所指向的结点之后插入一个新结点,则需要相继修改(D)个指针域的值.A.1B.2C.3D.419.在一个带头结点的循环双向链表中,若要在P所指向的结点之前插入一个新结点,则需要相继修改(C)个指针域的值。A.2B.3C.4D.620.在一个表头指针为ph的单链表中,若要向表头插入一个由指针p指向的结点,则应执行(B)操作。A.ph=p;p->next=ph;B.p->next=ph;ph=p;C.p->next=ph;p=ph;D.p->next=ph->ne6、xt;ph->next=p;21.在一个表头指针为ph的单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行(D)操作。A.q->next=p->next;p->next=q;B.p->next=q->next;q=p;C.q->next=p->next;p->next=q;D.p->next=q->next;q->next=p;22.在一个单链表HL中,若要删除由指针q所指向结点的后继结点(若存在的话),则执行(C)操作。A.p=q->next;p->next=q->next;7、B.p=q->next;q->next=p;C.p=q->next;q->next=p->next;D.q->next=q->next->next;q->next=q;23.在一个带头结点的循环双向链表中,若要在指针p所指向的结点之后插入一个q指针所指向的结点,则需要对q->next赋值为(B)。A.P->priorB.p->nextC.p->next->nextD.p->prior->prior24.在一个带头结点的循环双向链表中,若要在指针p所指向的结点之前插入一个q指针所指向的结点,则需要对p8、->prior->next赋值为(A)。A.qB.pC.p->nextD.p->prior25.在一个带头结点的循环双向链表中,若要删除指针p所指向的结点则执行(A)操作。A.p->prior->next=p->next;p->next->prior=p->prior;B.p->next->prior=p;p->next=p->next->next;C.p->prior->next=p;p->next=p->next->prior;D.p=p->next;p->pri
2、=i;}A.O(1)B.O(1bn)C.O(n)D.O(2n)8.下面程序段的时间复杂度为(D)。for(inti=0;i3、素(1≤i≤n+1)位置插入一个元素时,需要从后向前依次后移(B)个元素。A.n-iB.n-i+lC.n-i-lD.i11.在一个长度为n的顺序存储结构的线性表中,删除第i个元素(1≤i≤n+1)时,需要从前向后依次后移(A)个元素。A.n-iB.n-i+lC.n-i-lD.i12.在一个长度为n的线性表中,删除值为x的元素时需要比较元素和移动元素的总次数为(C)。A.(n+1)/2B.n/2C.nD.n+113.在一个顺序表的表尾插入一个元素的时间复杂度为(B)。A.O(n)B.O(1)C.O(n4、*n)D.O(lbn)14.在一个顺序表中的任何位置插入一个元素的时间复杂度为(A)。36A.O(n)B.O(n/2)C.O(1)D.O(n2)15.在一个单链表中删除p所指向结点的后继结点时,其算法的时间复杂度为(C)。A.O(n)B.O(n/2)C.O(1)D.O(n2)16.线性表的链式存储比顺序存储更有利于进行(D)操作。A.查找B.表尾插入和删除C.按值插入和删除D.表头的插入和删除17.线性表的顺序存储比链式存储更有利于进行(B)操作。A.查找B.表尾插入和删除C.按值插入和删除D.表头5、的插入和删除18.在一个单链表中,若要在P所指向的结点之后插入一个新结点,则需要相继修改(D)个指针域的值.A.1B.2C.3D.419.在一个带头结点的循环双向链表中,若要在P所指向的结点之前插入一个新结点,则需要相继修改(C)个指针域的值。A.2B.3C.4D.620.在一个表头指针为ph的单链表中,若要向表头插入一个由指针p指向的结点,则应执行(B)操作。A.ph=p;p->next=ph;B.p->next=ph;ph=p;C.p->next=ph;p=ph;D.p->next=ph->ne6、xt;ph->next=p;21.在一个表头指针为ph的单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行(D)操作。A.q->next=p->next;p->next=q;B.p->next=q->next;q=p;C.q->next=p->next;p->next=q;D.p->next=q->next;q->next=p;22.在一个单链表HL中,若要删除由指针q所指向结点的后继结点(若存在的话),则执行(C)操作。A.p=q->next;p->next=q->next;7、B.p=q->next;q->next=p;C.p=q->next;q->next=p->next;D.q->next=q->next->next;q->next=q;23.在一个带头结点的循环双向链表中,若要在指针p所指向的结点之后插入一个q指针所指向的结点,则需要对q->next赋值为(B)。A.P->priorB.p->nextC.p->next->nextD.p->prior->prior24.在一个带头结点的循环双向链表中,若要在指针p所指向的结点之前插入一个q指针所指向的结点,则需要对p8、->prior->next赋值为(A)。A.qB.pC.p->nextD.p->prior25.在一个带头结点的循环双向链表中,若要删除指针p所指向的结点则执行(A)操作。A.p->prior->next=p->next;p->next->prior=p->prior;B.p->next->prior=p;p->next=p->next->next;C.p->prior->next=p;p->next=p->next->prior;D.p=p->next;p->pri
3、素(1≤i≤n+1)位置插入一个元素时,需要从后向前依次后移(B)个元素。A.n-iB.n-i+lC.n-i-lD.i11.在一个长度为n的顺序存储结构的线性表中,删除第i个元素(1≤i≤n+1)时,需要从前向后依次后移(A)个元素。A.n-iB.n-i+lC.n-i-lD.i12.在一个长度为n的线性表中,删除值为x的元素时需要比较元素和移动元素的总次数为(C)。A.(n+1)/2B.n/2C.nD.n+113.在一个顺序表的表尾插入一个元素的时间复杂度为(B)。A.O(n)B.O(1)C.O(n
4、*n)D.O(lbn)14.在一个顺序表中的任何位置插入一个元素的时间复杂度为(A)。36A.O(n)B.O(n/2)C.O(1)D.O(n2)15.在一个单链表中删除p所指向结点的后继结点时,其算法的时间复杂度为(C)。A.O(n)B.O(n/2)C.O(1)D.O(n2)16.线性表的链式存储比顺序存储更有利于进行(D)操作。A.查找B.表尾插入和删除C.按值插入和删除D.表头的插入和删除17.线性表的顺序存储比链式存储更有利于进行(B)操作。A.查找B.表尾插入和删除C.按值插入和删除D.表头
5、的插入和删除18.在一个单链表中,若要在P所指向的结点之后插入一个新结点,则需要相继修改(D)个指针域的值.A.1B.2C.3D.419.在一个带头结点的循环双向链表中,若要在P所指向的结点之前插入一个新结点,则需要相继修改(C)个指针域的值。A.2B.3C.4D.620.在一个表头指针为ph的单链表中,若要向表头插入一个由指针p指向的结点,则应执行(B)操作。A.ph=p;p->next=ph;B.p->next=ph;ph=p;C.p->next=ph;p=ph;D.p->next=ph->ne
6、xt;ph->next=p;21.在一个表头指针为ph的单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行(D)操作。A.q->next=p->next;p->next=q;B.p->next=q->next;q=p;C.q->next=p->next;p->next=q;D.p->next=q->next;q->next=p;22.在一个单链表HL中,若要删除由指针q所指向结点的后继结点(若存在的话),则执行(C)操作。A.p=q->next;p->next=q->next;
7、B.p=q->next;q->next=p;C.p=q->next;q->next=p->next;D.q->next=q->next->next;q->next=q;23.在一个带头结点的循环双向链表中,若要在指针p所指向的结点之后插入一个q指针所指向的结点,则需要对q->next赋值为(B)。A.P->priorB.p->nextC.p->next->nextD.p->prior->prior24.在一个带头结点的循环双向链表中,若要在指针p所指向的结点之前插入一个q指针所指向的结点,则需要对p
8、->prior->next赋值为(A)。A.qB.pC.p->nextD.p->prior25.在一个带头结点的循环双向链表中,若要删除指针p所指向的结点则执行(A)操作。A.p->prior->next=p->next;p->next->prior=p->prior;B.p->next->prior=p;p->next=p->next->next;C.p->prior->next=p;p->next=p->next->prior;D.p=p->next;p->pri
此文档下载收益归作者所有