浙大远程2016春数据结构与算法离线作业综述.doc

浙大远程2016春数据结构与算法离线作业综述.doc

浙江大学远程教育学院 《数据结构与算法》课程离线作业 姓名: 夏林 学 号: 715099012001 年级: 2015年秋 学习中心: 洞头学习中心 ————————————————————————————— 一、填空题:【,,】 【,1,2】线性结构中元素之间存在一对一关系,树形结构中元素之间存在 关系,图形结构中元素之间存在关系。 【,1,2】为了最快地存取数据元素,物理结构宜采用结构。 【,1,2】存储结构可根据数据元素在机器中的位置是否一定连续分为,。 【,1,】度量算法效率可通过来进行。 【,1,】设n 为正整数,下面程序段中前置以记号@的语句的频度是。 for (i=0; in; i++){ for (j=0; jn; j++) if (i+j==n-1) @ a[i][j]=0; } 【,1,】设n 为正整数,试确定下列各程序段中前置以记号@的语句的频度: (1) i=1; k=0; while (i=n-1){ i++; @ k+=10 * i; // 语句的频度是n-1。 } (2) k=0; for (i=1; i=n; i++){ for (j=i; j=n; j++) @ k++; // 语句的频度是n(n+1)/2。 } 【,3,】线性表(a1,a2,…,an)有两种存储结构: 顺序存储结构和链式存储结构,请就这两种存储结构完成下列填充: 存储密度较大;存储利用率较高;可以随机存取;不可以随机存取;插入和删除操作比较方便。 【,3,2】从一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动 个元素。 【,3,】带头结点的单链表Head为空的条件是。 【,3,】在一个单链表中p所指结点(p所指不是最后结点)之后插入一个由指针s所指结点,应执行s-next=;和p-next=的操作。 【,3,】在一个单链表中删除p所指结点时,应执行以下操作: q= p-next; p-data= p-next-data; p-next=; free(q); 【2,3,】带头结点的单循环链表Head的判空条件是; 不带头结点的单循环链表的判空条件是。 【,3,】已知L是带表头结点的非空单链表, 且P结点既然不首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。 a. 删除P结点的直接前驱结点的语句序列是。 b. 删除结点P的语句序列是。 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-next-next != NULL) P = P-next; (10) Q = P; (11) Q = P-next; (12) P = L; (13) L = L-next; (14) free (Q); 【,3,】对一个栈,给定输入的顺序是A、B、C,则全部不可能的输出序列有 。 【,3,】.在栈顶指针为HS的链栈中,判定栈空的条件是。 【,3,】下列程序把十进制数转换为十六进制数,请填写合适的语句成分。 void conversion10_16() { InitStack(s); scanf(“%d”,N); while(N){ ; N = N/16; } while(!StackEmpty(s)){ Pop(s, e); if(e=9)printf(“%d”,e); else printf(“%c”,e-10+’A’); } } /* conversion */ 【,3,4】若用一个大小为6个元素的数组来实现循环队列,且当前rear=0和front=3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是和。 【,3,4】堆栈和队列都是线性表, 堆栈是的线性表, 而队

文档评论(0)

1亿VIP精品文档

相关文档