(zhn)现在的位置Q?/strong> 跨考网频道考研报名正文

数据l构W六章填I题及答案[14]_跨考网

最后更新时_(d)(x)2011-11-24 19:34:37
辅导评Q?a target="_blank" rel="nofollow">暑期集训 在线咨询
复习(fn)紧张Q焦头烂额?逆风轻袭Q来跨考秋季集训营Q帮你寻Ҏ(gu)Q定Ҏ(gu)Q?/span> 了解一?>

         1Q下面用类pascal语言写的对二叉树(wi)q行操作的算法,请仔l阅?/span>

  TYPE pointer=^tnodetp;

  tnodetp=RECORD data: char; llink,rlink: pointerQ?/span>END;

  linkstack=^linknodet;

  linknodet=RECORD data:pointerQ?/span> next;linkstackQ?/span>END;

  PROC unknown (VAR t:pointer);

  VAR p,tempQ?/span>pointer;

  BEGIN p:=t;

  IF p<> NIL THEN

  [temp:=p^.llink Q?/span>p^.llink:=p^.rlink;Q?/span>p^.rlink:=temp;

  unknown(p^.llink); unknown(p^.rlink); ]

  END;

  ?/span> 指出该算法完成了什么功?/span>

  ?/span> 用栈以上算法改为非递归法unknown1,其中有若q语句或条gI缺请在I缺处填写上适当的语句或条g

  PROC inistack(VAR s:linkstack);

  (1)_______; s^.next:=NIL;

  ENDP;

  FUNC empty (s:linkstack):boolean;

  IF (2)_______THEN empty:=true ELSE empty:=false;

  ENDF;

  FUNC gettop(s:linkstack):pointer;

  gettop:= (3)_______;

  ENDF;

  FUNC pop(VAR s:linkstack)Q?/span>pointer;

  VAR p:linkstack;

  pop:=s^.next^.data; p:=s^.next; (4)_______Q?/span>(5)_______;

  ENDF;

  PROC push (VAR s:linkstack;x:pointer);

  VAR p:linkstack;

  new(p); p^.data:=x; (6)_______; s^.next:=p;

  ENDP;

  PROC unknown1(VAR t:pointer);

  VAR p,temp: pointer; finish: boolean;

  BEGIN

  inistack(s); finish:=false; p:=t;

  REPEAT

  WHILE p<> NIL DO

  [temp:=p^.llink; p^.llink:=p^.rlink; p^.rlink:=temp;

  (7)_______; p:=p^.llink; ];

  IF (8)____THEN [p:=gettop(s);temp;=pop(s);] ELSE (9)_______

  UNTIL (10)___

ENDP; 【北方交通大?/span> 2000 三?/span> (25?/span>)?/span>

【参考答案?/span>

  ?/span> 本算法将二叉?wi)的左右子?wi)交换

  ?/span> (1)new (s) //初始化,甌l点 (2) s^.next=NIL  //s是带头结点的链栈

  (3)s^.next^.data //取栈元?/span> (4)s^.next:= p^.next //栈顶指针下移

  (5)dispose(p)   //回收I间 (6)p^.next:=s^.next  //新l点入链?/span>

  (7)push(s,p^.rchild) //先沿?wi)的左分支向下,?/span>p的右子女入栈保存

  (8)NOT empty(s) (9) finishe:=true //已完?/span> (10)finish=true Q或s^.next=NILQ?/span>

  

  2Q具?/span>n个结点的完全二叉?wi),已经序存储在一l数l?/span>A[1..n]中,下面法是将A中顺序存储变Z叉链表存储的完全二叉?wi)。请填入适当的语句在下面?/span>_______上,完成上述法?/span>

  TYPE ar=ARRAY[1..n] OF datatype;

  pointer=RECORD data:datatype; lchild, rchild: pointer; END;

  PROCEDURE btree(VAR a: ar; VAR p:pointer);

  VAR i:integer;

  PROCEDURE createtree(VAR t: pointer;i: integer)

  BEGIN (1)_______; t^.data=a[i];

  IF(2)_____THEN creattree((3)_______) ELSE t^.lchild:=NIL;

  IF(4)_____THEN createtree((5)_______) ELSE t^.rchild:=NIL;

  END;

  BEGIN

  j:= (6)__; createtree(p,j)

  END; ?a target="_blank">北京邮电(sh)大学 1998 五?/span> (15?/span>)?/span>

  【参考答案?/span>

  (1)new(t) (2)2*i?/span>n  (3)t^.lchild,2*i (4)2*i+1?/span>n (5)t^.rchild,2*i+1 (6)1

跨考考研评

班型 定向班型 开班时?/td> 高定?/td> 标准?/td> 评介绍 咨询
U季集训 冲刺?/td> 9.10-12.20 168000 24800?/td> 班面授+专业??+专业译֮向辅?协议加强评(高定?+专属规划{疑(高定?+_化答?复试资源(高定?+复试译֌(高定?+复试指导(高定?+复试班主?v1服务(高定?+复试面授密训(高定?+复试1v1(高定?
2023集训畅学 非定向(政英?数政qQ?/td> 每月20?/td> 22800?协议? 13800?/td> 先行阶在U课E?基础阶在U课E?强化阶在U课E?真题阶在U课E?冲刺阶在U课E?专业NҎ(gu)一对一评+班主dE督学服?全程规划体系+全程试体系+全程_化答?择校择专业能力定位体p?全年关键环节指导体系+初试加强?初试专属服务+复试全科标准班服?/td>

①凡本网注明“稿件来源:(x)跨考网”的所有文字、图片和韌频稿Ӟ版权均属北京学博教育咨询有限公司Q含本网和跨考网Q所有,M媒体、网站或个h未经本网协议授权不得转蝲、链接、{帖或以其他Q何方式复制、发表。已l本|协议授权的媒体、网站,在下载用时必须注明“稿件来源,跨考网”,q者本|将依法q究法律责Q?/p>

②本|未注明“稿件来源:(x)跨考网”的?囄Eg均ؓ(f)转蝲E,本网转蝲仅基于传递更多信息之目的Qƈ不意味着再通{载稿的观Ҏ(gu)证实其内容的真实性。如其他媒体、网站或个h从本|下载用,必须保留本网注明的“稿件来源”,q自负版权等法律责Q。如擅自改为“稿件来源:(x)跨考网”,本网依法追I法律责仅R?/p>

③如本网转蝲E涉及版权等问题Q请作者见E后在两周内速来?sh)与跨考网联系Q电(sh)话:(x)400-883-2220