笔者最近出版了一本书,先给大家亮个相吧:

首先说明一下,这里的“算法”不是人工智能领域的目标函数最优化算法,而是计算机领域的更通常意义上的算法。即,一个接受输入数据,对其进行某些操作并产生输出有限指令序列

此种意义上的算法,是编程的核心

与编程结缘的过往

第一次接触编程是 20 世纪 80 年代:

当时参加的是宋庆龄儿童活动中心举办的一 项编程体验活动,就是照着前面黑板上写的代码在现场的机器上敲一遍,然后运行。

当时到底用的是什么语言已经记不清了,但是当年却花费了好大力气,摸索着敲了一遍完全不清楚 其含义的字符串,然后按照说明运行,最终毫无动静。

虽然请教了巡场的工作人员,但他们也不知道是什么问题,到离场时都没能让程序“跑”起来。

难道,编程就是要用计算机“写” 一堆“密码”吗?如果这堆密码“跑”起来了,又会是怎样的效果呢? 

初次不成功的体验后,直到 20 世纪 90 年代,因为学校开设了计算机课,笔者才再度接触编程:

老师在课堂上讲了一点 Basic 语言知识,编写的是 a+b=c 之类的程序,然后运行得出结果。

笔者由此知道了编程语言,期末考试成绩也不错,但对于编程是什么,计算 机能干什么,还是不明所以。

国外的影视剧中用计算机能做生意,能管理企业,但我们编写 的程序只能做算术题,这是为什么呢?

算法与计算思维

上大学后,除了编程语言,笔者还学习了“数据结构”、“计算机原理”、“计算机体系结构”、 “编译原理”、“操作系统”和“软件工程”等专业课程,这才逐渐明白了:算法是什么,计算机是如何运行的……

后来进入职场,当时十几年程序员,开发过不同类型的实践项目,在工作中不断学习、揣摩,才逐渐领悟到抽象算法和现实问题之间的关系 :软件开发就是通过各种算法实现具体的业务逻辑,把繁杂的过程抽象化、可计算化的过程。

而软件开发工作背后的思维逻辑——将一个个具体的问题及其解决方案表达成计算机可 以处理的形式,并设计计算的方式,将客观世界解释为一个复杂的信息处理过程——则被称为计算思维

世界上的问题有大有小,所需要的资源有多有少,但抽象到最高层面的方法论可以是一致的。计算思维是各行各业都需要的。

通过对经典算法的研习和实践,掌握“用数值表达现实事物,用运算描述任务目标,再通过算法处理数据找到到达目标的最优路径”的方法。

如此,既是一种有效的思考力训练,又是形成计算思维的过程。由此形成的思维能力是内力,而同步掌握的编程技能则属外功。

综上,就是笔者写作本书的目的。

关于《算法第一步》

本书针对没有任何程序设计基础的读者,同步讲解两方面内容 :使用 Python 语言编写程序 ;基础经典算法。由编程学算法,以算法促编程。

同时,为了帮助读者理解算法,本书还介绍了计算机的基础运行原理。在大学计算机专业课程中,本书所介绍的内容往往被拆分在如下几门课程中:

  • 程序设计语言(如 Python)

  • 数据结构

  • 计算机组成原理和体系结构

本书将几个领域的知识融合在一起,从日常事物开始,介绍软件、程序和算法的基础知识,接着讲解了编程的两大要素:控制流程和数据结构。

由数据结构的限制和实现引出现代电子计算机的基础——二进制和冯·诺依曼结构。

然后进入算法阶段,由简至难,一边讲述算法原理,一边展示它们的编程实现。还介绍了作为算法思维基础的分治和引递归等算法策略。

为了使零基础的读者能够上手编程,本书从操作角度阐述了编程工具的使用和程序编写、运行、调试的过程。

下面放几张实拍图:

感谢专业的设计师帮我改图片,专业的编辑帮我审稿,一起打造出《算法第一步》这个产品。手捧新书,还是挺激动的,希望这本书能够大卖!

想入手的朋友建议趁早,优惠非常划算,点击链接或长按识别下方二维码就可以购买:

京东: 

https://item.jd.com/13034396.html

当当: 

http://product.dangdang.com/29162832.html

京东二维码

当当二维码

《算法第一步》出版啦!相关推荐

  1. 《Datawhale南瓜书》出版啦!

    作者:Datawhale开源项目组 作为机器学习的入门经典教材,周志华老师的<机器学习>,自2016年1月底出版以来,首印5000册一周售罄,并在8个月内重印9次.先后登上了亚马逊,京东, ...

  2. Datawhale 南瓜书学习

    Task01:概览西瓜书+南瓜书第1.2章(2天) 学习要点 基本术语 样本:是关于一个事项或对象的描述.通过数字化对事物进行描述展示.把现实世界的事物转换为计算机可以理解的数字. 样本空间:样本的特 ...

  3. Datawhale 《南瓜书》

    Datawhale 南瓜书 pumpkin-book 原书:机器学习 周志华 贡献者: Datawhale成员 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 章节·小节 每个c ...

  4. 秦州:西瓜书 + 南瓜书 吃瓜系列 14. 降维与度量学习(下)

    吃瓜教程--西瓜书+南瓜书 Datawhale南瓜书是经典机器学习教材<机器学习>(西瓜书)的公式推导解析指南,旨在让在学习西瓜书的过程中,再也没有难推的公式,学好机器学习. 内容属性:机 ...

  5. 秦州:西瓜书 + 南瓜书 吃瓜系列 13. 降维与度量学习(上)

    吃瓜教程--西瓜书+南瓜书 Datawhale南瓜书是经典机器学习教材<机器学习>(西瓜书)的公式推导解析指南,旨在让在学习西瓜书的过程中,再也没有难推的公式,学好机器学习. 内容属性:机 ...

  6. 秦州:西瓜书 + 南瓜书 吃瓜系列 12. 聚类

    Datawhale南瓜书是经典机器学习教材<机器学习>(西瓜书)的公式推导解析指南,旨在让在学习西瓜书的过程中,再也没有难推的公式,学好机器学习. 航路开辟者:谢文睿.秦州 开源内容:ht ...

  7. 谢文睿:西瓜书 + 南瓜书 吃瓜系列 11. 贝叶斯分类器

    吃瓜教程--西瓜书+南瓜书 Datawhale南瓜书是经典机器学习教材<机器学习>(西瓜书)的公式推导解析指南,旨在让在学习西瓜书的过程中,再也没有难推的公式,学好机器学习. 内容属性:机 ...

  8. 秦州:西瓜书 + 南瓜书 吃瓜系列 10. 集成学习(下)

    Datawhale南瓜书是经典机器学习教材<机器学习>(西瓜书)的公式推导解析指南,旨在让在学习西瓜书的过程中,再也没有难推的公式,学好机器学习. 航路开辟者:谢文睿.秦州 开源内容:ht ...

  9. 谢文睿:西瓜书 + 南瓜书 吃瓜系列 9. 集成学习(上)

    Datawhale南瓜书是经典机器学习教材<机器学习>(西瓜书)的公式推导解析指南,旨在让在学习西瓜书的过程中,再也没有难推的公式,学好机器学习. 航路开辟者:谢文睿.秦州 开源内容:ht ...

  10. 谢文睿:西瓜书 + 南瓜书 吃瓜系列 8. 软间隔与支持向量回归

    Datawhale南瓜书是经典机器学习教材<机器学习>(西瓜书)的公式推导解析指南,旨在让在学习西瓜书的过程中,再也没有难推的公式,学好机器学习. 航路开辟者:谢文睿.秦州 开源内容:ht ...

最新文章

  1. Merge into的使用
  2. caddy 获取SSL证书报错解决:failed to obtain certificate: acme: Error - One or more domains had a problem
  3. 传统IP网络与MPLS网络转发的区别
  4. python语言的格式框架_django框架模板语言使用方法详解
  5. getline读取不等待输入的问题
  6. 2015-09-14-初级vector
  7. unzip 解压_每天一条Linux命令(11) unzip (超详细)
  8. 近似求PI (15 分)
  9. filco蓝牙不好用_「原创」开箱 FILCO 斐尔可 蓝牙双模键盘+更换键帽
  10. JavaScript基础学习(一)—JavaScript简介
  11. Linux进阶之进程与线程
  12. java代码_【JAVA虚拟机(JVM)精髓】05-Java代码的执行过程
  13. Delphi多媒体设计之TMediaPlayer组件(三)
  14. IEEE会议Latex模板下载教程
  15. Oracle去重sql语句
  16. C#应用程序界面开发基础——窗体控制(4)——选择类控件(有部分地方没明白)
  17. 对称加密与非对称加密,以及RSA的原理
  18. uni-app 实现打开第三方app
  19. 为什么要配置环境变量以及配置环境变量的步骤
  20. 浅析微信小程序生命周期之应用生命周期

热门文章

  1. 当今世界最牛的25位顶尖大数据科学家
  2. rn+android+sdk,RN与Android原生交互
  3. 手机上的计算机黑屏怎么办,手机黑屏是怎么回事,详细教您苹果手机黑屏怎么办...
  4. 自动化操作桌面之根据图片移动鼠标
  5. vc sp6补丁下载地址及具体安装
  6. h5 禁止微信内置浏览器调整字体大小
  7. cookie前端写还是后端写
  8. 概率论一:样本空间1
  9. mysql 军规_58到家MySQL军规升级版
  10. Sql语句中的DDL、DML、DCL的介绍