×
暂无评论
图文详情
  • ISBN:9787115509000
  • 装帧:简裝本
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:158
  • 出版时间:2019-04-01
  • 条形码:9787115509000 ; 978-7-115-50900-0

本书特色

本书是数据结构与算法的入门指南,不局限于某种特定语言,略过复杂的数学公式,用通俗易懂的方式针对编程初学者介绍数据结构与算法的基本概念,培养读者编程逻辑。主要内容包括:为什么要了解数据结构与算法,大O表示法及其代码优化利用,栈、队列等的合理使用,等等。

内容简介

摒弃复杂概念,非计算机专业读者也能看懂的专业书

只需了解简单加减乘除和图表分解便可升级核心编程技能
让自学编程人员掌握专业知识,编写出灵活且具可扩展性的代码

让计算机专业学生以更通俗易懂的方式加深理解数据结构和算法

让初级开发人员巩固计算机科学基本概念,优化代码,提升技能

目录

第 1 章 数据结构为何重要 1

1.1 基础数据结构:数组 1

1.1.1 读取 3

1.1.2 查找 5

1.1.3 插入 7

1.1.4 删除 8

1.2 集合:一条规则决定性能 10

1.3 总结 12

第 2 章 算法为何重要 13

2.1 有序数组 13

2.2 查找有序数组 15

2.3 二分查找 16

2.4 二分查找与线性查找 19

2.5 总结 20

第 3 章 大O记法 21

3.1 大O:数步数 21

3.2 常数时间与线性时间 22

3.3 同一算法,不同场景 24

3.4 第三种算法 24

3.5 对数 25

3.6 解释O(log N) 26

3.7 实例 27

3.8 总结 28

第 4 章 运用大O来给代码提速 29

4.1 冒泡排序 29

4.2 冒泡排序实战 30

4.3 冒泡排序的实现 33

4.4 冒泡排序的效率 35

4.5 二次问题 36

4.6 线性解决 38

4.7 总结 39

第 5 章 用或不用大O来优化代码 40

5.1 选择排序 40

5.2 选择排序实战 41

5.3 选择排序的实现 45

5.4 选择排序的效率 46

5.5 忽略常数 47

5.6 大O的作用 47

5.7 一个实例 48

5.8 总结 49

第 6 章 乐观地调优 50

6.1 插入排序 50

6.2 插入排序实战 51

6.3 插入排序的实现 55

6.4 插入排序的效率 56

6.5 平均情况 58

6.6 一个实例 60

6.7 总结 61

第 7 章 查找迅速的散列表 62

7.1 探索散列表 62

7.2 用散列函数来做散列 63

7.3 一个好玩又赚钱的同义词典 64

7.4 处理冲突 65

7.5 找到平衡 68

7.6 一个实例 69

7.7 总结 72

第 8 章 用栈和队列来构造灵巧的代码 73

8.1 栈 73

8.2 栈实战 75

8.3 队列 79

8.4 队列实战 80

8.5 总结 81

第 9 章 递归 82

9.1 用递归代替循环 82

9.2 基准情形 83

9.3 阅读递归代码 84

9.4 计算机眼中的递归 86

9.5 递归实战 87

9.6 总结 89

第 10 章 飞快的递归算法 90

10.1 分区 90

10.2 快速排序 94

10.3 快速排序的效率 98

10.4 *坏情况 101

10.5 快速选择 103

10.6 总结 105

第 11 章 基于结点的数据结构 106

11.1 链表 106

11.2 实现一个链表 107

11.3 读取 108

11.4 查找 109

11.5 插入 110

11.6 删除 112

11.7 链表实战 114

11.8 双向链表 115

11.9 总结 118

第 12 章 让一切操作都更快的二叉树 119

12.1 二叉树 119

12.2 查找 121

12.3 插入 124

12.4 删除 126

12.5 二叉树实战 132

12.6 总结 133

第 13 章 连接万物的图 134

13.1 图 134

13.2 广度优先搜索 136

13.3 图数据库 144

13.4 加权图 146

13.5 Dijkstra 算法 148

13.6 总结 154

第 14 章 对付空间限制 155

14.1 描述空间复杂度的大O记法 155

14.2 时间和空间之间的权衡 157

14.3 写在*后的话 158
展开全部

作者简介

杰伊•温格罗(Jay Wengrow),经验丰富的讲师、工程师,一直致力于全民编程教育。编程培训公司Actualize、教育公司Anyone Can Learn To Code的创始人和CEO。



译者简介



袁志鹏,程序员,关注于技术与业务架构设计。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航