图书前言

前言

“数据结构与算法”是计算机专业的一门基础课程,从事软件开发工作的人员基本都会用到其中的知识。但对于一个在企业

工作二十多年的程序老鸟而言,遇到的算法盲或半盲比比皆是。

曾经和一位高校教计算机课程的讲师聊天,他竟然问我: “学数据库为什么要懂数据结构?”。在他看来,学数据库只要学会SQL语句也就够了。然而学生如果去企业面试,其中常被问到的问题是: “怎样在海量数据中高效

地查询?”如今电商、微博、头条等网站动辄在万亿条记录中搜索,这样的运算量

用SQL语句无法处理。

目前计算机人才市场两极分化严重。一些只需要简单的计算机操作或写界面布局的

职位大量过剩,而懂算法,会优化,能结合业务实际提出更优解决方案的人才却很稀缺。面试者会在面试环节遇到很多算法题正是这种市场需求的反映。

写作本书的初衷是为了帮助读者系统掌握Python算法。但随着写作过程的深入,笔者认为一本书不足以让读者

在未来的职业生涯中游刃有余地运用算法工具解决实际发生的问题。比如对于游戏中的寻路算法、模拟运动中的碰撞检测、电商中的商品推荐、自动驾驶中的临近识别等功能,如果没有一定的实战经验,根本看不出这些功能中哪里会用到哪些数据结构或算法,所以本书的定位仅是帮助读者入门。

本书采用图解的方式一步步描述具体算法,这种方式在数据结构与算法

类图书中不多见,但笔者认为这种方式比单纯的文字描述更直观。由于笔者水平所限,书中难免会有疏漏,恳请读者多提宝贵意见。

编者2021年2月