当前位置:   article > 正文

一本算法可视化的超绝书,不信你还学不会!

一本算法可视化的超绝书,不信你还学不会!

我们生活在由空间和时间组成的世界里。房屋、道路和教室等是作为活动场所的空间,计划和时刻则体现时间的流动。在这个世界里,为了实现各种目标,我们每天都在思考要做什么和如何做,并付诸行动。

例如,要想快速制作出美味的食物,我们需要选择合适的原料和工具,然后规划烹饪步骤。在全家出去旅行前,需要做好旅行路线的规划。为了达成目标,我们需要反复思考,在有限的预算和时间内做出选择,确定行动。

b6191140a2f38cd99d07798f181cb47b.jpeg

实现目标的步骤叫作“算法”。算法是思考和决策的基础,从日常生活到商业活动、开发和研究等各种需要解决问题的场合,它都会出现。算法不仅可以由人来实现,还可以通过编程自动实现。人脑不容易解决的复杂问题也可以由计算机来解决。

因此,算法是 ICT(information and communications technology,信息与通信技术)领域重要的学问之一。在 ICT 领域以外,它也值得作为一种通用的知识来掌握。算法正在成为与阅读、写作、数学和英语相提并论的基础知识。

8aacedeb7c45f1cb77167f827d235cc0.png

编程的本质即算法。程序员的必要素质不是具备编程语言和工具的相关知识,而是有良好的思考能力,是能够运用数学知识理解和解决问题、正确地实现算法的能力。这是一种普适和恒久的能力,是无论世界如何变化(例如编程语言发生了变化)都依然有用的能力。

就像人要利用有限的资源来行事一样,算法也需要有效地使用计算机资源。我们需要精简算法,尽可能减少计算步骤,以降低 CPU 的使用频率。另外,程序在计算过程中会将所使用的数据和计算结果存储于内存中。一方面,尽可能地减少内存的使用很重要;另一方面,对内存中数据的“逻辑”形式进行设计,使处理模型化,程序能够更高效地进行计算。

因此,可以认为算法是基于形式(结构)的“在空间结构中流动的处理步骤”。这导致人们难以用文字描述或用程序表现和解释算法。由于它是动态的处理步骤,所以用图和动画来表现和解释会更有效。在我们生活的时空中,图和动画是最适合表示步骤的多媒体形式。数据形式和计算步骤的可视化也有助于人们直观地理解。

日本会津大学计算机理工学部信息系统学部门副教授渡部有隆,为了帮助更多初学者入门算法,将可视化编程引入到算法,让算法学习更直观。这本书在日亚上获得 4.2 星评,一本用动画学习算法的入门图书,以直观的图文解析深入算法与数据结构。作为算法初学者,这本好玩又好懂的书一定不要错过!

db47ecca5f928ec336b728bd3b328b83.jpeg

《动画算法与数据结构》

[日]渡部有隆, [俄]尼古拉·米连科夫 | 著

郑明智 | 译

作者对可视化编程有多年的研究,全书通过对算法的空间结构、时间结构、数据、计算 4 个特征进行可视化,以统一的形式,结合示意图对算法和数据结构进行讲解。

  • 空间结构:数据的逻辑形式

  • 时间结构:空间结构上的处理流程

  • 数据:与空间结构相关的值

  • 计算:处理的内容和状态

通过结合这 4 个特征对每个算法进行讲解,并将计算步骤可视化。虽然在书上它们都是静态的图像帧的序列,但读者只需使用手机或平板电脑扫描二维码,即可查看计算步骤的动画。

b8d26fb4f7de86149555c0da6a91354a.png

扫码后,你可以在动画中看到计算步骤从静态的转换成动态的,算法处理也得以突出显示,并且数据的变化也被可视化,直观易懂,便于学习。

a3f1a12e70d4b4863ef36ed715095cfa.jpeg

除了可视化部分,本书还提供了不依赖于特定编程语言的伪代码实现,帮助读者理解算法的细节及实现。

244ea263f3ad898163099464ad9723e6.png

作者简介

渡部有隆,出生于 1979 年,计算机理工学博士。日本会津大学计算机理工学部信息系统学部门副教授。专业领域为可视化编程语言。AIZU ONLINE JUDGE 开发者。

Mirenkov Nikolay,历任会津大学教授、会津大学副校长、会津大学特聘荣誉教授。

235c41daece35fd503254e39a9ad69bd.png

本书阅读方法

全书由“准备篇”“空间结构”“算法和数据结构”这 3 部分构成。

27beb807ceb97f8d438293637d0d4fe1.png

“准备篇”介绍理解本书内容所需的基础知识。这部分将介绍最基础的编程方面的术语和相关知识,为理解伪代码做好准备,同时还将介绍时间复杂度等算法领域的重要概念。

“空间结构”将系统地介绍各种空间结构,另外,也会对相关术语和实现方法进行介绍。

“算法和数据结构”是本书的核心内容。本书将算法看作“解决问题的步骤”,将数据结构看作“根据规则进行操作的数据集”,并分为不同主题进行讲解。为了使实现更高效,有时也将数据结构包含在算法中。

只要跟着作者的流程,一步一步地坚持学下去,算法能力定会提升一大截!

984a85216f9816ac21336d546f3515e8.png

新书实拍

2b99aa8408205052dba6e33ad668cef7.jpeg

47a68ac1ff9ee500d35055d6d9e6c599.jpeg

e181be375c72a7bd4b9d453dd99a0e5d.jpeg

a8463eaa58f08ad3dc0f8205c189ce32.jpeg

一键下单!

bb7ad7c93a325a0b0165365156a5dbf3.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/450075
推荐阅读
相关标签
  

闽ICP备14008679号