- 世界末日的预言
  - 诺查丹玛斯的预言
    - 千年虫问题
  - 马亚人的古日利预言
    - 2012年12月31日问题
  - 古印度汉诺塔预言
    - 创世纪之初的神庙传说
    - 三根银杆与64个金盘
      - 规则:大盘在下,小盘在上
      - 神的预言:移动完成时世界末日降临
- 汉诺塔问题的数学分析
  - 移动次数公式
    - A的64次方减一
    - 总次数:1844亿亿次
  - 时间估算
    - 每秒移动一次需5800亿年
    - 地球存在时间仅40亿年
- 计算机解决汉诺塔问题
  - 必备知识
    - 程序设计知识
      - 地规设计
    - 数据结构知识
      - 栈的应用
  - 递归方法的核心
    - 地规公式的确定
    - 边界条件的确定
  - 解决步骤
    - 将N个盘子分为两部分
      - 移走前N-1个盘子
      - 移动第N个盘子
    - 借助不同杆子完成移动
      - 第一步:A杆到C杆借助B杆
      - 第二步:A杆到C杆
      - 第三步:B杆到C杆借助A杆
- 程序实现
  - 递归函数的设计
    - 参数:盘子数量、杆子标识
    - 边界条件:N等于1时结束
  - 示例:三个盘子的移动过程
    - 分解为单个盘子的移动
    - 回溯解决多盘子问题
- 算法复杂度分析
  - 时间复杂度:O(2的N次方)
  - 计算量庞大
    - 人工无法完成
    - 天河二号计算机需数小时
- 总结
  - 确定地规公式和边界条件
  - 递归与栈的应用是关键
- 计算时间复杂度
  - 根据前面讲解过程
  - 回顾内容并应用
- 编写小游戏
  - 巩固所学知识
  - 消化课程内容
- 总结与致谢
  - 结束讲解
  - 感谢听众

版权所有:全国高校教师网络培训中心

技术支持:北京畅想数字教育科技股份有限公司

联系地址:北京市西城区德外大街4号院A座2层

咨询电话:400-6699-800

京ICP备08008005号 京公网安备110102004467