不插电的计算机科学
  • 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. 活动8 — 与时间赛跑:排序网络

这个活动在说什么?

现在的生活越来越依赖计算机,因此我们希望计算机能更快处理各种数据。

一种加速处理的方法是改进程序的算法,让它计算地快一点(就像我们在活动6与活动7所学到的)。

另一种方法是同时让数台计算机同时处理一个工作。例如,在此活动中我们用来排序6个数字的网络,虽然总共有12次比较,但最多同时可以进行3个比较,所以整个工作的时间不是一次比较时间的12倍,而是可以缩短到5倍而已。换言之,这个并行处理的网络比起一次只做一次比较的窜行处理的网络要快上两倍。

但并不是所有的工作都能通过并行处理的网络来加快速度。举一个例子,想象一个人要挖一个十米长的水沟,如果是十个人同时进行,每个人只需要挖1米,整个工作的完成速度会快十倍。但如果是挖一个十米深的洞呢?找十个人来一起工作就没什么帮助了——总不能在你开挖的同时叫另一个人从第二米深的地方开始挖吧。

计算机科学家至今仍在努力研究如何让计算机并行处理的方法。

Previous排序网络

Last updated 7 years ago