本博客招租,E-mail:elevenor@gmail.com

本空间招租,欢迎电子邮件联系

原创 由清华大学1994年一道试题想到的收藏

新一篇: 浙大计算机组成与设计课后习题答案 | 旧一篇: 中国科学院2002年一道试题的两种解答

算法填充题:题目

刚开始很难想到要用递归,后来仔细想了一下,确实还只能用递归.原因如下:

  在开始时,相信大家(包括本人 )在刚看到题目的时候会迫不及待地将while后面填上pa&&pb以表示结束控制符,然后将最后一句填上return true表示判断成功,else语句后面填上return false在匹配不成功时强制退出(其实这样一写就已经错了,因为匹配不成功指针也要向后移动的),在then语句后面填上pa=pa->next;pb=pb->next语句,可是这样一来第一个空格似乎无内容可填了,此时陷入了僵局

考虑题型中没有任何多余的变量,于是考虑到这个是否是递归的基准情形,只能这样考虑,否则一条语句放在如此的位置不能有其他作用.题目没有定义新的变量,而pa,pb均已经初始化成功,所以只能是递归基准情形.所以第一个空格内填入if pa==NULL then return true;后面分别填入return (inclusion(pa,pb));  pb=pb->next;  return false;

另外,函数体名"(inclusion)"也有"此地无银"的味道,暗示了本题是用递归解答的.

更多内容:

浙江大学ACM试题解答(四月)
http://blog.csdn.net/ctu_85/archive/2007/04/24/1576831.aspx
浙江大学ACM试题解答(三月)
http://blog.csdn.net/ctu_85/archive/2007/03/20/1535556.aspx
麻省理工算法导论翻译
http://blog.csdn.net/ctu_85/archive/2007/06/08/1643179.aspx
华容道游戏与算法
http://blog.csdn.net/ctu_85/archive/2007/05/15/1610722.aspx
中国象棋对战程序C语言源代码
http://blog.csdn.net/ctu_85/archive/2007/05/04/1596351.aspx

发表于 @ 2006年10月24日 23:55:00|评论(loading...)|编辑

新一篇: 浙大计算机组成与设计课后习题答案 | 旧一篇: 中国科学院2002年一道试题的两种解答

评论:没有评论。

发表评论  


登录
Csdn Blog version 3.1a
Copyright © ctu_85