![]()
内容推荐 本书是简单易懂的数据结构与算法入门书。作者略过复杂的数学公式,用“通俗讲解×逐步图示×代码实现”的方式介绍了数据结构与算法的基本概念,培养读者的算法思维。全书共有20章。读者将了解数据结构与算法为何如此重要,如何快速使用大O记法判断代码的运行效率,以及如何用动态规划优化算法。本书的重点内容包括冒泡排序、选择排序、插入排序等排序算法,以及深度优先搜索、广度优先搜索、迪杰斯特拉算法等图算法。在学习算法的过程中,读者也将通晓数组、哈希表、栈、队列、链表、图等常用数据结构的适用场景。 本书适合初级和中级程序员阅读,不局限于某一种编程语言。 作者简介 杰伊·温格罗(Jay Wengrow),经验丰富的讲师、工程师,一直致力于全民编程教育。编程培训公司Actualize、教育公司Anyone Can Learn To Code的创始人和CEO。 目录 第1章 数据结构为何重要 1.1 数据结构 1.2 数组:基础数据结构 1.3 速度计量 1.4 读取 1.5 查找 1.6 插入 1.7 删除 1.8 集合:差之毫厘,“慢”之千里 1.9 小结 习题 第2章 算法为何重要 2.1 有序数组 2.2 有序数组的查找 2.3 二分查找 2.4 二分查找与线性查找 2.5 小结 习题 第3章 哦!大O记法 3.1 大O:对N个元素来说需要多少步 3.2 大O的灵魂 3.2.1 深入大O的灵魂 3.2.2 同样的算法,不同的场景 3.3 第三类算法 3.4 对数 3.5 O(logN)的含义 3.6 实际例子 3.7 小结 习题 第4章 使用大O给代码提速 4.1 冒泡排序 4.2 冒泡排序实战 4.3 冒泡排序的效率 4.4 平方问题 4.5 线性解法 4.6 小结 习题 第5章 用或不用大O来优化代码 5.1 选择排序 5.2 选择排序实战 5.3 选择排序的效率 5.4 忽略常数 5.5 大O类别 5.5.1 实际例子 5.5.2 关键步骤 5.6 小结 习题 第6章 根据情况进行优化 6.1 插入排序 6.2 插入排序实战 6.3 插入排序的效率 6.4 平均情况 6.5 实际例子 …… 第7章 日常代码中的大O 第8章 查找迅速的哈希表 第9章 用栈和队列打造优雅的代码 第10章 用递归不停递归 第11章 学习编写递归代码 第12章 动态规划 第13章 飞快的递归算法 第14章 基于节点的数据结构 第15章 用二叉查找树加速万物 第16章 使用堆分清主次 第17章 字典树又何妨 第18章 连接万物的图 第19章 对付空间限制 第20章 代码优化技巧 附录 习题答案(图灵社区下载) |