所有分类
  • 所有分类
  • 在线课堂
  • 精品课程
  • 课件资料
  • 资料手册
文档家VIP会员升级

数据结构与算法图解 [美]Jay Wengrow 2019年版

图灵程序设计丛书 数据结构与算法图解 

作者: [美]Jay Wengrow  

出版时间:2019年版 

内容简介 

  本书是数据结构与算法的入门指南,不局限于某种特定语言,略过复杂的数学公式,用通俗易懂的方式针对编程初学者介绍数据结构与算法的基本概念,培养读者编程逻辑。主要内容包括:为什么要了解数据结构与算法,大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 

资源下载
资源下载
0
文档家VIP会员升级
没有账号?注册  忘记密码?

社交账号快速登录