不插电的计算机科学
  • Introduction
  • 前言
  • 特别鸣谢
  • 第一部分 - 数据:最原始的材料
    • 活动1 - 计算“点”-二进制数
      • 素材:二进制数
      • 二进制数
      • 活动学习单1: 二进制数
      • 活动学习单2: 使用二进制表示数字
      • 活动学习单3: 传送秘密信息
      • 活动学习单4: 电子邮件与数据机
      • 活动学习单5: 数到31以上
      • 活动学习单6: 更多关于二进制数的知识
      • 这个活动在说什么?
      • 答案和提示
    • 活动2 - 用数字表示颜色 — 图像展示
      • 用数字表示颜色1
      • 用数字表示颜色2
      • 活动学习单1: 儿童传真
      • 活动学习单2.1: 做出自己的图片
      • 活动学习单2.2: 做出自己的图片
      • 这个活动在说什么?
      • 答案和提示
    • 活动3 - “你说什么?” - 文字压缩
      • “你说什么?”
      • 活动学习单1:“你说什么?”
      • 这个活动在说什么?
    • 活动4 - 翻转卡片魔术 - 错误的检测和修正
      • 魔术般的技巧
      • 一个现实的范例:书码与条码
      • 这个活动在说什么?
    • 活动5 - 二十个问题 - 信息理论
      • 二十个问题
      • 活动:二十个问题
      • 活动学习单1: 决策树
      • 这个活动在说什么?
      • 答案和提示
  • 第二部分 - 让计算机运行:算法
    • 活动6 - 海战棋:搜索算法
      • 海战棋活动 — 暖身
      • 线性搜索游戏
      • 二元搜索游戏
      • 哈希法搜索
      • 延伸活动
      • 这个活动在说什么?
    • 活动7 — 从最重到最轻:排序算法
      • 最重与最轻
      • 学习活动单:重量的排序
      • 学习活动单:分治法(Divide and Conquer)
      • 这个活动在说什么?
      • 答案和提示
    • 活动8 — 与时间赛跑:排序网络
      • 排序网络
      • 这个活动在说什么?
Powered by GitBook
On this page
  • 活动说明
  • 活动讨论:
  1. 第二部分 - 让计算机运行:算法
  2. 活动6 - 海战棋:搜索算法

二元搜索游戏

活动说明

这个版本的游戏指示和上一个游戏相同,不过这次战舰上的数字,是以从小到大的方式排列的。在游戏之前要请先告诉学生这一点。

  1. 分成两人一组,你有一张纸(2A),对方有一张纸(2B),不要给对方看到你的纸。

  2. 两个人都圈起上半部其中一艘战舰,然后告诉你的同伴圈起来的数字。

  3. 现在,两人轮流猜测对方的战舰在哪里。(猜的人念出代表位置的字母而同伴则告诉你你猜的那艘船在那张纸上的数字是几号。)

  4. 你猜了几次才猜中同伴的船在哪里?这就是你在这场游戏中的分数。

活动讨论:

  1. 这些分数所代表的意义是什么?

  2. 分数最大值及最小值是多少?(答案分别是1及26,前提是学生不会“打到”同一艘船两次。

  3. 应该先选哪一艘船?(要先选在最中间,一半左右位置的船)下一艘呢?(一样,在选择的那半边的最中间的那一艘船)

  4. 如果用前面说的策略,需要几次才能找到目标船只?(最多五次)

这个方法称为二元搜索,因为这个方法把问题切成两半来解决。

Previous线性搜索游戏Next哈希法搜索

Last updated 7 years ago