文章

【书籍推荐】演算法图鉴

【作者】
文_钟婉华/旅读
2022.05.30

「演算法」似乎已是生活日常、却不像那么熟悉的朋友。假如把时间推到更早,其实在开始使用计算机的年代,机器演算便随著指间提按进入人类的生活,也从加减乘除延伸至更复杂的计算、判断、储存等步骤的电脑程式,概言之,演算法是计算机的基础执行程序,以明确且有限有效的数值输入至运算输出的方式,将处理步骤写成电脑能解读执行的指令组合。

 

 

早期的机械运作较简单,可以直击或旋扭某物当指令,复杂的机器运作则需更细密的指令,由于电脑只认识二进位的数字,下指令给电脑即须用经过逻辑定义的数字序列。譬如原先只需前进即可的机器,之后因加上如转向某方位、举起标的物、放到目的地等有数量顺序等条件的动作,便须有逻辑的步骤程式与机器沟通,如在多高的位置举起从某定点算起横向直向多少距离的标的物、放到从某定点算起横向直向多少距离的目的地等等,这些具体算计多少大小先后的序列,都是演算法。

 

 

理解演算法需要基础入门,工程师石田保辉将《アルゴリズム図鉴(演算法图鉴)》做成行动应用程式(APP)贩售给工程师同业,引起极大回响,并获选为苹果二○一六年度最佳行动应用程式,在此基础下与京都大学学术信息媒体中心副教授宫崎修一合著《演算法图鉴》,以丰富的图解并增订章节说明演算法,期能抛砖引玉,让已习得基本演算法的读者日后可更深入探索应用。

 

 

书中内容包括廿六种基础演算法、七种资料结构,由浅入深,从点延伸成线、面到空间和时间的结构。如序章先解析选择数的大小原理,这种小学生都能轻易解题的数学,乍看似乎不需思考,然而下指令给电脑的算式则复杂严谨得多:先从输入的整数(n)中、找出最小的数、跟最左边的数换位置,剩下的数再重复之前的动作,跟左二的数交换,以此反覆移动到结束,所有的数即能从小排到大。进入第一章,则说明列表、阵列、伫列、堆叠、二元搜寻树等结构;第二章后加入排序的定义,如汽泡、选择、插入、堆积、合并等;接著是线性及二元搜寻、图形及深广度优先的搜寻、安全性演算原理、群组的分类、并举例其他演算法如辗转相除、质数判定等,以图解方式拆解演算过程,让读者逐步建立逻辑概念,并在熟知多样结构后,可视情况选择最适当的演算法。

 

 

【作者简介】

石田保辉

住在东京的自由业工程师。2011年京都大学研究所硕士课程结业。曾任职于几家新创公司,后独立成为自由业。2016年制作上架以工程师为对象的学习APP「アルゴリズム図鉴」。上架后不到一年即达成全世界50万次下载,获选「Apple 2016年度最佳APP」。

 

 

宫崎修一

京都大学学术信息媒体中心(学术情报メディアセンター)副教授。1998年九州大学研究所博士课程结业,博士(工学)。1998年起任京都大学研究所情报学研究科助理教授。2002年开始担任现职。从事演算法和计算复杂性理论的研究,近来钻研近似演算法和线上演算法。主要著作为《图论入门:基础与演算法》(グラフ理论入门 ~基本とアルゴリズム~,2015年,森北出版)。

 

 

【资讯内文】

作者_石田保辉、宫崎修一

译者_陈彩华

出版_脸谱出版

图片版权_脸谱出版