1. 当过程P递归调用自身时,过程P内部定义的局部变量在P的2次调用期间是否占用同一数据区?为什么?【山东师范大学 1999 一、4 (4分)】
【参考答案】
过程p递归调用自身时,过程p由内部定义的局部变量在p的2次调用期间,不占同一数据区。每次调用都保留其数据区,这是递归定义所决定,用“递归工作栈”来实现。
2. 试推导出当总盘数为n的Hanoi塔的移动次数。 【北京邮电大学 2001 四、3 (5分)】
【参考答案】
设Hn为n个盘子的Hanoi塔的移动次数。(假定n个盘子从钢针X移到钢针Z,可借助钢针Y)
则 Hn =2Hn-1+1 //先将n-1个盘子从X移到Y,第n个盘子移到Z,再将那n-1个移到Z
=2(2Hn-2+1)+1
=22 Hn-2+2+1
=22(2Hn-3+1)+2+1
=23 Hn-3+22+2+1
·
·
·
= 2k Hn-k+2k-1 +2k-2 +…+21 +20
=2n-1 H1+2n-2+2n-3+…+21+20
因为H1=1,所以原式Hn=2n-1+2n-2+…+21+20=2n-1
故总盘数为n的Hanoi塔的移动次数是2n-1。
3. 对下面过程写出调用P(3)的运行结果。
PROCEDURE p(w:integer);
BEGIN
IF w>0 THEN
BEGIN
p(w-1);
writeln(w);{输出W}
p(w-1)
END;
END;
【西北大学 2001 三、7】
【参考答案】
运行结果为:1 2 1 3 1 2 1(注:运行结果是每行一个数,为节省篇幅,放到一行。)
2022考研初复试已经接近尾声,考研学子全面进入2023届备考,跨考为23考研的考生准备了10大课包全程准备、全年复习备考计划、目标院校专业辅导、全真复试模拟练习和全程针对性指导;2023考研的小伙伴针也已经开始择校和复习了,跨考考研畅学5.0版本全新升级,无论你在校在家都可以更自如的完成你的考研复习,暑假集训营带来了院校专业初步选择,明确方向;考研备考全年规划,核心知识点入门;个性化制定备考方案,助你赢在起跑线,早出发一点离成功就更近一点!
考研院校专业选择和考研复习计划 | |||
2023备考学习 | 2023线上线下随时学习 | 34所自划线院校考研复试分数线汇总 | |
2022考研复试最全信息整理 | 全国各招生院校考研复试分数线汇总 | ||
2023全日制封闭训练 | 全国各招生院校考研调剂信息汇总 | ||
2023考研先知 | 考研考试科目有哪些? | 如何正确看待考研分数线? | |
不同院校相同专业如何选择更适合自己的 | 从就业说考研如何择专业? | ||
手把手教你如何选专业? | 高校研究生教育各学科门类排行榜 |