欢迎来到天天文库
浏览记录
ID:9321110
大小:323.50 KB
页数:11页
时间:2018-04-27
《浙大《数据结构与算法》课程离线作业》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、浙江大学远程教育学院《数据结构与算法》课程离线作业姓名:学号:年级:学习中心:—————————————————————————————一、填空题:(【序号,章,节】。。。。。。)【1,1,2】线性结构中元素之间存在一对一关系,树形结构中元素之间存在 关系,图形结构中元素之间存在 关系。【2,1,2】为了最快地存取数据元素,物理结构宜采用结构。【3,1,2】存储结构可根据数据元素在机器中的位置是否一定连续分为__,___。【4,1,3】度量算法效率可通过__来进行。【5,1,3】设n为正整数,下面程序段中前置以记号@的语句的频度是
2、。for(i=0;i3、构:顺序存储结构和链式存储结构,请就这两种存储结构完成下列填充:___存储密度较大;____存储利用率较高;____可以随机存取;_____不可以随机存取;____插入和删除操作比较方便。【8,3,2】从一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动个元素。【9,3,2】带头结点的单链表Head为空的条件是__________。【10,3,2】在一个单链表中p所指结点(p所指不是最后结点)之后插入一个由指针s所指结点,应执行s->next=_____;和p->next=________的操作。【11,3,2】在一个单链表中删4、除p所指结点时,应执行以下操作:q=p->next;p->data=p->next->data;p->next=_;free(q);【12,3,2】带头结点的单循环链表Head的判空条件是_____;不带头结点的单循环链表的判空条件是_____。【13,3,2】已知L是带表头结点的非空单链表,且P结点既然不首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。a.删除P结点的直接前驱结点的语句序列是________________________________。b.删除结点P的语句序列是_____________________5、___________。c.删除尾元结点的语句序列是________________________________。(1)P=P->next;(2)P->next=P;(3)P->next=P->next->next;(4)P=P->next->next;(5)while(P!=NULL)P=P->next;(6)while(Q->next!=NULL){P=Q;Q=Q->next};(7)while(P->next!=Q)P=P->next;(8)while(P->next->next!=Q)P=P->next;(9)while(P->n6、ext->next!=NULL)P=P->next;(10)Q=P;(11)Q=P->next;(12)P=L;11(13)L=L->next;(14)free(Q);【14,3,3】对一个栈,给定输入的顺序是A、B、C,则全部不可能的输出序列有。【15,3,3】.在栈顶指针为HS的链栈中,判定栈空的条件是 。【16,3,3】下列程序把十进制数转换为十六进制数,请填写合适的语句成分。voidconversion10_16(){InitStack(&s);scanf(“%d”,&N);while(N){______________7、_______;N=N/16;}while(!StackEmpty(s)){_____________________;if(e<=9)printf(“%d”,e);elseprintf(“%c”,e-10+’A’);}}/*conversion*/【17,3,4】若用一个大小为6个元素的数组来实现循环队列,且当前rear=0和front=3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是和。【18,3,4】堆栈和队列都是线性表,堆栈是____________________________________的线性表,8、而队列是____________________________________的线性表。【19,3,4】若用一个大小为6个元素的数组来实现循环队列,且当前rear
3、构:顺序存储结构和链式存储结构,请就这两种存储结构完成下列填充:___存储密度较大;____存储利用率较高;____可以随机存取;_____不可以随机存取;____插入和删除操作比较方便。【8,3,2】从一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动个元素。【9,3,2】带头结点的单链表Head为空的条件是__________。【10,3,2】在一个单链表中p所指结点(p所指不是最后结点)之后插入一个由指针s所指结点,应执行s->next=_____;和p->next=________的操作。【11,3,2】在一个单链表中删
4、除p所指结点时,应执行以下操作:q=p->next;p->data=p->next->data;p->next=_;free(q);【12,3,2】带头结点的单循环链表Head的判空条件是_____;不带头结点的单循环链表的判空条件是_____。【13,3,2】已知L是带表头结点的非空单链表,且P结点既然不首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。a.删除P结点的直接前驱结点的语句序列是________________________________。b.删除结点P的语句序列是_____________________
5、___________。c.删除尾元结点的语句序列是________________________________。(1)P=P->next;(2)P->next=P;(3)P->next=P->next->next;(4)P=P->next->next;(5)while(P!=NULL)P=P->next;(6)while(Q->next!=NULL){P=Q;Q=Q->next};(7)while(P->next!=Q)P=P->next;(8)while(P->next->next!=Q)P=P->next;(9)while(P->n
6、ext->next!=NULL)P=P->next;(10)Q=P;(11)Q=P->next;(12)P=L;11(13)L=L->next;(14)free(Q);【14,3,3】对一个栈,给定输入的顺序是A、B、C,则全部不可能的输出序列有。【15,3,3】.在栈顶指针为HS的链栈中,判定栈空的条件是 。【16,3,3】下列程序把十进制数转换为十六进制数,请填写合适的语句成分。voidconversion10_16(){InitStack(&s);scanf(“%d”,&N);while(N){______________
7、_______;N=N/16;}while(!StackEmpty(s)){_____________________;if(e<=9)printf(“%d”,e);elseprintf(“%c”,e-10+’A’);}}/*conversion*/【17,3,4】若用一个大小为6个元素的数组来实现循环队列,且当前rear=0和front=3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是和。【18,3,4】堆栈和队列都是线性表,堆栈是____________________________________的线性表,
8、而队列是____________________________________的线性表。【19,3,4】若用一个大小为6个元素的数组来实现循环队列,且当前rear
此文档下载收益归作者所有