欢迎来到天天文库
浏览记录
ID:39391315
大小:406.50 KB
页数:22页
时间:2019-07-02
《数据结构与算法离线作业》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、浙江大学远程教育学院《数据结构与算法》课程离线作业姓名:陈鑫学号:714100012010年级:2014春学习中心:西溪—————————————————————————————一、填空题:(【序号,章,节】。。。。。。)【1,1,2】线性结构中元素之间存在一对一关系,树形结构中元素之间存在1对多关系,图形结构中元素之间存在多对多关系。【2,1,2】为了最快地存取数据元素,物理结构宜采用顺序存储结构。【3,1,2】存储结构可根据数据元素在机器中的位置是否一定连续分为顺序存储结构__,_链式存储结构__。【4,
2、1,3】度量算法效率可通过__来进行。【5,1,3】设n为正整数,下面程序段中前置以记号@的语句的频度是n(n+1)/2。for(i=0;i3、j=i;j<=n;j++)22@k++;//语句的频度是_______n(n+1)/2_______________。}【7,3,2】线性表(a1,a2,…,an)有两种存储结构:顺序存储结构和链式存储结构,请就这两种存储结构完成下列填充:__顺序_存储密度较大;__顺序__存储利用率较高;___顺序_可以随机存取;___链式__不可以随机存取;__链式__插入和删除操作比较方便。【8,3,2】从一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动n-i个元素。【9,3,2】带头结点的单链表Hea4、d为空的条件是__Head->next=NULL________。【10,3,2】在一个单链表中p所指结点(p所指不是最后结点)之后插入一个由指针s所指结点,应执行s->next=__p->next___;和p->next=___s_____的操作。【11,3,2】在一个单链表中删除p所指结点时,应执行以下操作:q=p->next;p->data=p->next->data;p->next=p->next->next_;free(q);【12,3,2】带头结点的单循环链表Head的判空条件是__Head->n5、ext==Head;___;不带头结点的单循环链表的判空条件是__Head==NULL;___。【13,3,2】已知L是带表头结点的非空单链表,且P结点既然不首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。a.删除P结点的直接前驱结点的语句序列是1012811414________________________。b.删除结点P的语句序列是________10127314_________________________。c.删除尾元结点的语句序列是______911314_________6、_________________。(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->next->next!=NULL)P=P->nex7、t;22(10)Q=P;(11)Q=P->next;(12)P=L;(13)L=L->next;(14)free(Q);【14,3,3】对一个栈,给定输入的顺序是A、B、C,则全部不可能的输出序列有不可能得到的输出序列有CAB。【15,3,3】.在栈顶指针为HS的链栈中,判定栈空的条件是head->next==NULL。【16,3,3】下列程序把十进制数转换为十六进制数,请填写合适的语句成分。voidconversion10_16(){InitStack(&s);scanf(“%d”,&N);while(N)8、{_____________Push(s,N%16)________;N=N/16;}while(!StackEmpty(s)){__________Pop(s,e)___________;if(e<=9)printf(“%d”,e);elseprintf(“%c”,e-10+’A’);}}/*conversion*/【17,3,4】若用一个大小为6个元素的数组来实现循环队列,且当前rear=0和f
3、j=i;j<=n;j++)22@k++;//语句的频度是_______n(n+1)/2_______________。}【7,3,2】线性表(a1,a2,…,an)有两种存储结构:顺序存储结构和链式存储结构,请就这两种存储结构完成下列填充:__顺序_存储密度较大;__顺序__存储利用率较高;___顺序_可以随机存取;___链式__不可以随机存取;__链式__插入和删除操作比较方便。【8,3,2】从一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动n-i个元素。【9,3,2】带头结点的单链表Hea
4、d为空的条件是__Head->next=NULL________。【10,3,2】在一个单链表中p所指结点(p所指不是最后结点)之后插入一个由指针s所指结点,应执行s->next=__p->next___;和p->next=___s_____的操作。【11,3,2】在一个单链表中删除p所指结点时,应执行以下操作:q=p->next;p->data=p->next->data;p->next=p->next->next_;free(q);【12,3,2】带头结点的单循环链表Head的判空条件是__Head->n
5、ext==Head;___;不带头结点的单循环链表的判空条件是__Head==NULL;___。【13,3,2】已知L是带表头结点的非空单链表,且P结点既然不首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。a.删除P结点的直接前驱结点的语句序列是1012811414________________________。b.删除结点P的语句序列是________10127314_________________________。c.删除尾元结点的语句序列是______911314_________
6、_________________。(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->next->next!=NULL)P=P->nex
7、t;22(10)Q=P;(11)Q=P->next;(12)P=L;(13)L=L->next;(14)free(Q);【14,3,3】对一个栈,给定输入的顺序是A、B、C,则全部不可能的输出序列有不可能得到的输出序列有CAB。【15,3,3】.在栈顶指针为HS的链栈中,判定栈空的条件是head->next==NULL。【16,3,3】下列程序把十进制数转换为十六进制数,请填写合适的语句成分。voidconversion10_16(){InitStack(&s);scanf(“%d”,&N);while(N)
8、{_____________Push(s,N%16)________;N=N/16;}while(!StackEmpty(s)){__________Pop(s,e)___________;if(e<=9)printf(“%d”,e);elseprintf(“%c”,e-10+’A’);}}/*conversion*/【17,3,4】若用一个大小为6个元素的数组来实现循环队列,且当前rear=0和f
此文档下载收益归作者所有