导 读

少儿编程培训现在如火如荼,那么什么是编程,编程的核心和关键是什么?怎么的学习才是有效的呢?BBC的纪录片《现代生活的秘密规则:算法》推荐给想学编程的孩子们。

计算机之所以能创造这么多让我们叹为观止的成就,固然是得益于它每秒钟上亿次的神速运算。但如果剥离掉算法,现在我们所看到的大部分奇观都将不复存在,而剩下的那些也将失色得多,难以让人惊叹。

BBC的纪录片《现代生活的秘密规则:算法》(2015年,豆瓣评分8.4)给我们揭开了算法的神秘面纱的一角。纪录片的主持人Marcus是牛津大学的数学教授,在这个纪录片里,他通过介绍几个典型的算法,展示了算法是如何无孔不入地全方位地影响着现代生活。

在纪录片刚开始,Marcus跟他的学生玩了一个简单的小游戏:在一个大罐子里放了一些巧克力和一根辣椒,Marcus和学生轮流拿,每次拿的数量可以是一个、两个或三个。拿到辣椒的人就必须把辣椒吃掉。结果,每次吃辣椒的都是学生,因为Marcus使用了一个小策略。这个策略就是一种算法,而这个算法的原理其实很简单,小学三年级的学生都可以理解。

下面列举一下记录片中提到的几个算法:

  • 欧几里得算法

这个算法被认为是历史上第一个算法,出现在2200多年前。

  • 排序算法

常用的排序算法有十几种,没有绝对意义上的最优算法,每种算法都有它们最适合处理的问题。谷歌的搜索算法其实就是一个页面排序算法。非常有趣的是,片中以舞蹈的方式展现几种排序算法的实现过程。

彩蛋:美国总统奥巴马被问到排序算法时的机智回应。

  • 匹配算法

匹配算法可以用于学生和它们心仪的学校之间的双向选择,人体器官的捐献者和患者之间的匹配,等等。

有一些疾病需要通过器官移植进行治疗,不少患者也有亲人甚至朋友自愿捐赠。但患者和捐赠者之间很可能因为有排斥现象而无法进行移植。最简单的匹配是两对“患者-捐赠者”,第一个患者和第二个捐赠者,以及第二个患者和第一个捐赠者都没有排斥现象。于是可以同时安排这两个器官移植手术。更普遍的情况是需要同时对很多对“患者-捐赠者”进行交换匹配。

这个匹配算法(Gale-Shapley算法)还获得了2012年的诺贝尔经济学奖。

  • 推销员旅行算法

这个算法起源于数学问题,但可以广泛应用于电路板设计、送货路线规划、机场调度,等等。

  • 决策树算法

这个算法可以通过数据搜集实现机器学习,而机器学习是人工智能的基础。

下面这个链接有完整的算法列表(请复制链接地址在新页面打开):

https://www.cnblogs.com/AndyJee/p/4947566.html

更多精彩内容请看视频吧。

点击下列原创文章

相关文章