《数据结构与算法JavaScript描述》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:(美)MICHAELMCMILLAN著;王群锋,杜欢译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:7115363398
  • 页数:200 页
图书介绍:

第1章JavaScript的编程环境和模型 1

1.1 JavaScript环境 1

1.2 JavaScript编程实践 2

1.2.1声明和初始化变量 3

1.2.2 JavaScript中的算术运算和数学库函数 3

1.2.3判断结构 4

1.2.4循环结构 6

1.2.5函数 7

1.2.6变量作用域 7

1.2.7递归 9

1.3对象和面向对象编程 10

1.4小结 11

第2章 数组 13

2.1 JavaScript中对数组的定义 13

2.2使用数组 13

2.2.1创建数组 14

2.2.2读写数组 15

2.2.3由字符串生成数组 15

2.2.4对数组的整体性操作 16

2.3存取函数 17

2.3.1查找元素 17

2.3.2数组的字符串表示 18

2.3.3由已有数组创建新数组 18

2.4可变函数 19

2.4.1为数组添加元素 19

2.4.2从数组中删除元素 20

2.4.3从数组中间位置添加和删除元素 21

2.4.4为数组排序 21

2.5迭代器方法 22

2.5.1不生成新数组的迭代器方法 22

2.5.2生成新数组的迭代器方法 25

2.6二维和多维数组 27

2.6.1创建二维数组 27

2.6.2处理二维数组的元素 28

2.6.3参差不齐的数组 29

2.7对象数组 30

2.8对象中的数组 31

2.9练习 32

第3章 列表 33

3.1列表的抽象数据类型定义 33

3.2实现列表类 34

3.2.1 append:给列表添加元素 35

3.2.2 remove:从列表中删除元素 35

3.2.3 find:在列表中查找某一元素 35

3.2.4 length:列表中有多少个元素 36

3.2.5 toString:显示列表中的元素 36

3.2.6 insert:向列表中插入一个元素 37

3.2.7 clear:清空列表中所有的元素 37

3.2.8 contains:判断给定值是否在列表中 37

3.2.9遍历列表 38

3.3使用迭代器访问列表 39

3.4一个基于列表的应用 40

3.4.1读取文本文件 40

3.4.2使用列表管理影碟租赁 41

3.5练习 44

第4章栈 45

4.1对栈的操作 45

4.2栈的实现 46

4.3使用Stack类 48

4.3.1数制间的相互转换 49

4.3.2回文 50

4.3.3递归演示 51

4.4练习 52

第5章 队列 53

5.1对队列的操作 53

5.2一个用数组实现的队列 54

5.3使用队列:方块舞的舞伴分配问题 57

5.4使用队列对数据进行排序 61

5.5优先队列 63

5.6练习 65

第6章 链表 67

6.1数组的缺点 67

6.2定义链表 67

6.3设计一个基于对象的链表 69

6.3.1 Node类 69

6.3.2 LinkedList类 69

6.3.3插入新节点 69

6.3.4从链表中删除一个节点 71

6.4双向链表 74

6.5循环链表 78

6.6链表的其他方法 79

6.7练习 79

第7章 字典 81

7.1 Dictionary类 81

7.2 Dictionary类的辅助方法 83

7.3为Dictionary类添加排序功能 85

7.4练习 86

第8章 散列 87

8.1散列概览 87

8.2 HashTable类 88

8.2.1选择一个散列函数 88

8.2.2一个更好的散列函数 91

8.2.3散列化整型键 93

8.2.4 对散列表排序、从散列表中取值 95

8.3碰撞处理 96

8.3.1开链法 96

8.3.2线性探测法 99

8.4练习 100

第9章 集合 101

9.1集合的定义、操作和属性 101

9.1.1集合的定义 101

9.1.2对集合的操作 102

9.2 Set类的实现 102

9.3更多集合操作 104

9.4练习 107

第10章 二叉树和二叉查找树 109

10.1树的定义 109

10.2二叉树和二叉查找树 111

10.2.1实现二叉查找树 111

10.2.2遍历二叉查找树 113

10.3在二叉查找树上进行查找 116

10.3.1查找最小值和最大值 116

10.3.2查找给定值 117

10.4从二叉查找树上删除节点 118

10.5计数 120

10.6练习 123

第11章 图和图算法 125

11.1图的定义 125

11.2用图对现实中的系统建模 127

11.3图类 127

11.3.1表示顶点 127

11.3.2表示边 127

11.3.3构建图 128

11.4搜索图 130

11.4.1深度优先搜索 130

11.4.2广度优先搜索 133

11.5查找最短路径 135

11.5.1广度优先搜索对应的最短路径 135

11.5.2确定路径 135

11.6拓扑排序 137

11.6.1拓扑排序算法 137

11.6.2实现拓扑排序算法 137

11.7练习 141

第12章 排序算法 143

12.1数组测试平台 143

12.2基本排序算法 145

12.2.1冒泡排序 145

12.2.2选择排序 148

12.2.3插入排序 150

12.2.4基本排序算法的计时比较 151

12.3高级排序算法 153

12.3.1希尔排序 153

12.3.2归并排序 158

12.3.3快速排序 163

12.4练习 167

第13章 检索算法 169

13.1顺序查找 169

13.1.1查找最小值和最大值 172

13.1.2使用自组织数据 175

13.2二分查找算法 177

13.3查找文本数据 183

13.4练习 185

第14章 高级算法 187

14.1动态规划 187

14.1.1动态规划实例:计算斐波那契数列 188

14.1.2寻找最长公共子串 191

14.1.3背包问题:递归解决方案 194

14.1.4背包问题:动态规划方案 195

14.2贪心算法 196

14.2.1第一个贪心算法案例:找零问题 196

14.2.2背包问题的贪心算法解决方案 197

14.3练习 199

封面介绍 200