欢迎来到天天文库
浏览记录
ID:34772662
大小:67.18 KB
页数:4页
时间:2019-03-10
《数据结构基础练习(线性表)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数据结构基础练习(线性表)学号姓名班级.一、选择题1.算法的时间复杂度取决于A。A.问题的规模B.变量的多少C.问题的难度D.A和B2.算法能正确的实现预定功能的特性为算法的A。A.正确性B.易读性C.健壮性D.高效性3.数据的物理结构主要包含A这几种结构。A.顺序结构和链表结构B.线性结构和非线性结构C.动态结构和静态结构D.集合、线性结构、树形结构、图形结构4.数据在计算机内存中的表示是指A。 A.数据的存储结构B.数据结构 C.数据的逻辑结构D.数据元素之间的关系5.数据结构被形式化定义为二元组(D,S),其中D是B的有限集合。A.算法B
2、.数据元素C.数据操作D.数据关系6.算法效率的度量是D。A.正确度和简明度B.数据复杂度和程序复杂度C.高的速度和正确度D.时间复杂度和空间复杂度7.在下列存储结构中,最适合实现在线性表中进行随机访问的是A。A.数组B.双向链表C.单向链表D.循环链表8.与单链表相比,双链表的优点之一是D。A.可以由最后一个结点找到头结点B.可随机访问C.插入、删除操作更加简单D.访问前驱结点更加方便9.如果对线性表的运算只有2种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用D。A.顺序表B.单链表C.双向链表D.具有表尾指针的循环单链表10
3、.在表头指针为head且表长大于1的单向循环链表中,指针p指向表中的某个结点,若p->next->next==head,则D。A.p指向头结点B.p指向尾结点C.*p的直接后继是头结点D.*p的直接后继是尾结点11.带表头附加结点的单链表head为空的判断条件是C。A.head==NULLB.head->next==NULLC.head->next==headD.head!=NULL12.对线性表,在下列情况下应当采用链表表示的是B。A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中的元素个数
4、不变13.如果最常用的操作是取第i个结点及前驱,则采用A存储方式最节省时间。A.顺序表B.双链表C.单循环链表D.单链表14.可以用带表头附加结点的链表表示线性表,也可以用不带表头附加结点的链表表示线性表,前者最主要的好处是B。A.可以加快对表的遍历B.使空表和非空表的处理统一C.节省存储空间D.可以提高存取表元素的速度15.一个顺序表所占存储空间的大小与D无关。A.顺序表长度B.结点类型C.结点中个数据域的类型D.结点的存放次序16.从一个具n个结点的单链表中查找其值等于x的结点时,在查找成功的情况下,需平均比较D个结点。A.nB.n/2C.
5、(n-1)/2D.(n+1)/217.单链表中,q在前,p在后的指向相邻的两个结点,要在q,p之间插入s所指的结点应是D。A.s->next=p->next;p->next=s;B.p->next=s->next;s->next=p;C.p->next=s;s->next=q;D.q->next=s;s->next=p;18.不带表头附加结点的单链表head为空的判断条件是B。A.head->next==NULLB.head==NULLC.head->next==headD.head!=NULL19.一个循环单链表中,若要在指针q所指结点的后面
6、插入一个由指针P所指向的结点,则执行D。A.q—>next=p;p—>next=q—>next;B.p—>next=q—>next;q=p;C.q—>next=p—>next;p—>next=q;D.p—>next=q—>next;q—>next=p;20.在循环双链表的指针p所指结点之前插入指针q所指结点的操作是D。A.p->left=q;q->right=p;p->left->right=q;q->left=p->left;B.p->left=q;p->left->right=q;q->right=p;q->left=p->left;C.q
7、->right=p;q->left=p->left;p->left=q;p->left->right=q;D.q->right=p;q->left=p->left;p->left->right=q;p->left=q;二、算法设计题1.设有一个顺序表L,其元素为整型数据,下列算法将L中所有小于0的整数放在前半部分,大于0的整数放在后半部分。提示:从L的两端查找,前端找大于0的数据,后端找小于0的数据,然后将两位置的数据交换。voidMoveList(SeqList&L){inti=0,j=L.size-1;while(i8、list[i]<=0)i++;while(L.list[j]>0)j--;if(i
8、list[i]<=0)i++;while(L.list[j]>0)j--;if(i
此文档下载收益归作者所有