上海大学数据结构2002考研真题.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上海大学数据结构2002考研真题

上海大学2002 一二 pav 802 213 462 604 图1:可利用空间表的状态图 (注:存储块头部size域的值和申请分配的存储量均包括头部和尾部的存储空间。) 请画出: 当系统回收一个起始地址为559,大小为45的空闲块之后的链表状态; 系统继而在接受存储块大小为100的请求后,又回收一个起始地址为515,大小为44的空闲块之后的链表状态。 三 2 3 2 2 7 4 5 4 3 4 7 5 3 3 1 6 图2: 工程作业的网络图 四、(10分)按下列要求构造二叉数。 1、(4分)已知一棵二叉树的前序序列为ABDEGCF,中序序列为DBGEACF,请写出该二叉树后序序列。 2、(6分)设数据集合D={1,12,5,8,3,10,7,13,9}, 依次取D中的数据构造一棵二叉树AVL; 如何依据此平衡二叉树AVL得到D的一个有序序列; 画出在AVL中删除“5”后的平衡二叉树。 五、(10分)阅读下列说明和流程图(图3)。①—⑤在该图中处填入合适的字句,使之成为完整的流程图 [说明] 流程图(图3)用来求满足下列条件的最小自然数N:对于两个给定的素数X、Y,从N开始的每个自然数都能表示成X的倍数和Y的倍数之和,即表示成m1*X+m2*Y,其中m1,m2均为自然数。 (图在后面) 寻找N的过程如下:首先取X和Y中的较小者为K,然后从X+Y开始逐个检查每个自然数,看它是否能表示成X的倍数和Y的倍数之和,一旦找到K个连续的自然数都符合该条件,则这K个数中的第一个即为所求的N的值。 对每个数的检查方法:将该数看作U、V两数之和(即N=U+V),取U为X的倍数,然后检查V是否能被Y整除。 本题假设输入的X、Y是两个素数。图中表示└ W ┘不超过W的最大整数. 六、(30分)完善下列程序,每小题在PASCAL语言(A)和C语言(B)中任选一题。若都做,按(A) 记分,每小题10分。 1、下面的程序将数列1、2、3…….n*n,依次按蛇型方式存放在二维数组A[1..n,1..n]中。即: 算法的PASCAL 语言程序描述: PROGRAM EX1(INPUT,OUTPUT); CONST NMAX=10; VAR A:ARRAY[1N..jMAX,1N..MAX]OF INTEGER BEGIN READLN(N); M:=1; FOR K:=1 TO ( 1 ) DO BEGIN IF KN THEN Q:=K ELSE ( 2 ) FOR P:=1 TO Q DO BEGIN IF ( 3 ) THEN BEGIN I:=Q-P+1;J:=P; END; ELSE BEGIN I:=P;J:=Q-P+1; END; IF ( 4 ) THEN BEGIN I:=I+N-Q;J:=J+N-Q; END; A[I,J]:=N; ( 5 ) END; END; FOR I:=1 TO N DO BEGIN FOR J:=1 TO N DO WRITE([I][j]:4);writeln END; END; 算法的C语言程序描述: #DEFINE NMAX 10 #INCLUDE “STDIO.H” MAIN() { INT I,J,N,K,P,Q,M; INT A[NMAX][NMAX]; SCANF(“%D”,N); M=1; FOR(K=1;( 1 ) ;K++); { IF(K〈N〉 Q=K; ELSE( 2 ) FOR(P=1;P〈=Q;P++〉 { IF( 3 ) {I=Q

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档