内容提要

本书介绍算法领域的一些常见算法,如搜索、排序、散列、查找最短路径和检测环路等;讨论与算法密切相关的一些数据结构与数据类型,如数组、链表、二叉树、散列表、堆栈和图等;重点阐述算法和数据结构之间的选择。除此之外,本书还深入浅出地阐述算法复杂度的原理,并通过大量的实验数据帮助读者理解各种不同时间复杂度的算法的行为。

本书在解释算法的工作原理时,就像讲故事一样娓娓道来,并提供大量的实验数据,对不同算法的运行时间性能进行比较。本书所提供的算法实现,采用的是实际代码而不是伪码,读者可以直接在自己的计算机上运行这些代码,切身感受算法的行为和性能。书中描述算法的Python代码并没有使用任何复杂的语法结构,因此对Python稍有了解甚至不了解的读者(当然至少要熟悉一种其他编程语言),在阅读本书的代码时应该也不会感到困难。

本书尤其适合计算机相关专业的大学生和其他相关领域的编程爱好者学习算法时使用,可为读者深入学习算法打下坚实基础。