秒懂算法:用常识解读数据结构与算法

秒懂算法:用常识解读数据结构与算法

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

一点儿也不难的算法入门书,带你体验一跃而起的顿悟瞬间。

内容简介

本书共20章,重点内容包括冒泡排序、选择排序、插入排序等排序算法,以及深度优先搜索、广度优先搜索、迪杰斯特拉算法等图算法。

作者简介

作者杰伊·温格罗,经验丰富的讲师、软件工程师,一直致力于全民编程教育,编程培训公司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.3 第三类算法

3.4 对数

3.5 O(log N)的含义

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.6 小结

第6章 根据情况进行优化

6.1 插入排序

6.2 插入排序实战

6.3 插入排序的效率

6.4 平均情况

6.5 实际例子

6.6 小结

第7章 日常代码中的大O

7.1 偶数平均数

7.2 构词程序

7.3 数组抽样

7.4 摄氏温度平均值

7.5 衣服标签

7.6 1的个数

7.7 回文检查

7.8 计算所有的积

7.9 密码破解程序

7.10 小结

第8章 查找迅速的哈希表

8.1 哈希表

8.2 用哈希函数进行哈希

8.3 好玩又赚钱的同义词典(赚钱是重点)

8.4 哈希表查找

8.5 解决冲突

8.6 创造高效的哈希表

8.7 用哈希表整合数据

8.8 用哈希表优化速度

8.9 小结

第9章 用栈和队列打造优雅的代码

9.1 栈

9.2 抽象数据类型

9.3 栈实战

9.4 受限数据结构的重要性

9.5 队列

9.6 队列实战

9.7 小结

第10章 用递归不停递归

10.1 用递归代替循环

10.2 基准情形

10.3 阅读递归代码

10.4 计算机眼中的递归

10.5 文件系统遍历

10.6 小结

第11章 学习编写递归代码

11.1 递归类别:重复执行

11.2 递归类别:计算

11.3 自上而下递归:新的思维方式

11.4 台阶问题

11.5 易位构词生成

11.6 小结

第12章 动态规划

12.1 不必要的递归调用

12.2 大O小改

12.3 递归的效率

12.4 重复子问题

12.5 动态规划与记忆化

12.6 自下而上的动态规划

12.7 小结

第13章 飞快的递归算法

13.1 分区

13.2 快速排序

13.3 快速排序的效率

13.4 最坏情况下的快速排序

13.5 快速选择

13.6 基于排序的其他算法

13.7 小结

第14章 基于节点的数据结构

14.1 链表

14.2 链表实现

14.3 读取

14.4 查找

14.5 插入

14.6 删除

14.7 链表操作的效率

14.8 链表实战

14.9 双链表

14.10 队列的双链表实现

14.11 小结

第15章 用二叉查找树加速万物

15.1 树

15.2 二叉查找树

15.3 查找

15.4 插入

15.5 删除

15.6 二叉查找树实战

15.7 二叉查找树遍历

15.8 小结

第16章 使用堆分清主次

16.1 优先队列

16.2 堆

16.3 堆的性质

16.4 堆的插入

16.5 寻找尾节点

16.6 堆的删除

16.7 堆和有序数组

16.8 重新解决尾节点问题

16.9 用数组实现堆

16.10 用堆实现优先队列

16.11 小结

第17章 字典树又何妨

17.1 字典树

17.2 存储单词

17.3 字典树查找

17.4 字典树查找的效率

17.5 字典树插入

17.6 实现自动补全

17.7 完成自动补全功能

17.8 带有值的字典树:更好的自动补全

17.9 小结

第18章 连接万物的图

18.1 图

18.2 有向图

18.3 面向对象的图实现

18.4 图的搜索

18.5 深度优先搜索

18.6 广度优先搜索

18.7 图的搜索效率

18.8 加权图

18.9 迪杰斯特拉算法

18.10 小结

第19章 对付空间限制

19.1 空间复杂度的大O记法

19.2 时间和空间的取舍

19.3 递归的隐藏成本

19.4 小结

第20章 代码优化技巧

20.1 前置工作:确定目前的时间复杂度

20.2 从这里开始:最理想复杂度

20.3 魔法查找

20.4 找规律

20.5 贪心算法

20.6 更换数据结构

20.7 小结

20.8 临别感言

附录 习题答案

作者简介

秒懂算法:用常识解读数据结构与算法是2022年由人民邮电出版社出版,作者[美] 杰伊·温格罗。

得书感谢您对《秒懂算法:用常识解读数据结构与算法》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
数据结构(C语言版)(第2版) 电子书
适读人群 :普通高校电子信息大类本科生学习、考研,同时也适合零售和培训。   采用“案例驱动”的编写模式。书中结合实际应用,将各章按照“案例引入——数据结构及其操作——案例分析与实现”的案例驱动思路来展开。每章使用一个有趣的“问题案例”开头,由该案例逐步引入新的数据结构,然后给出该数据结构的存储表示及各种基本操作的实现,之后进一步分析此案例,最终利用该数据结构来实现此案例。   算法讲解更加细致。新版教材中对每个算法思想进行详细阐述,将用文字描述的算法步骤与用类C语言表述的算法描述一一对应。   优化教材内容。参考计算机专业全新的全国统考考研大纲,增加了大纲近两年新增的考点内容,如分块查找、外部排序等,有助于考研学生复习备考使用。
算法设计与分析 电子书
带你理解算法核心的问题。算法描述采用伪码,突出对问题本身的分析和求解方法的阐述。
SQLServer2012数据库技术及应用:微课版(第5版) 电子书
本书是介绍数据库的相关知识,讲述了一些基本知识以及一些设计方法。
计算思维与算法设计 电子书
将计算思维融入计算机的算法设计中。
Unity 2017经典游戏开发教程:算法分析与实现 电子书
Unity目前是全世界优秀的游戏渲染引擎平台,其中程序开发也有自己的一套规则和技巧。本书基于此,使用Unity C#编程模块,实现18款经典小游戏的算法。不论是游戏开发爱好者,还是专业人士,都能从本书学习到:(1)Unity程序脚本入口及与场景模块相关联的编程操作流程与算法分析。(2)C#的程序编写技巧。(3)学习整个游戏开发的综合流程与策划思路,以便将来更好的融入相关团队。