数据结构与算法JavaScript描述
查字典图书网
当前位置: 查字典 > 图书网 > 算法> 数据结构与算法JavaScript描述

数据结构与算法JavaScript描述

6.5

作者: [美] Michael McMillan
出版社: 人民邮电出版社
原作名: Data Structures and Algorithms with JavaScript
译者: 王群锋  |  杜 欢
出版年: 2014-8
页数: 216
定价: 49.00元
装帧: 平装
ISBN: 9787115363398



推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

内容简介:

作者简介:

Michael McMillan

作为大学老师和程序员,曾编写过多部受到好评的数据结构与算法图书,包括Data Structures and Algorithms Using C#、Data Structures and Algorithms Using Visual Basic.NET,以及其他计算机教程,如Object-Oriented Programming with Visual Basic.NET、C++ Programming: An Introduction、Java Programming Tutorial、Perl from the Ground Up等。Michael现在阿肯色州北小石城普瓦斯基技术学院当讲师,教授计算机信息系统。他还是北小石城阿肯色大学的兼职讲师,教授信息科学。在做讲师之前,他曾是阿肯色儿童医院的一名程序设计师/分析师,负责统计计算和数据分析。

译者简介:

王群锋

1981年生于陕西省富平县桥西大队三里村,2004年毕业于西安电子科技大学。毕业后当了一名程序员,现居西安,在IBM西安研发中心从事下一代统计预测软件的开发工作。

杜欢

淘宝网高级技术专家,2012年加入淘宝,曾就职于雅虎台湾及CISCO。对前端架构、前后端协作有自己的见解,专注于Web产品设计、可用性实施,热爱标准化。

作者简介:

作者简介:

Michael McMillan

作为大学老师和程序员,曾编写过多部受到好评的数据结构与算法图书,包括Data Structures and Algorithms Using C#、Data Structures and Algorithms Using Visual Basic.NET,以及其他计算机教程,如Object-Oriented Programming with Visual Basic.NET、C++ Programming: An Introduction、Java Programming Tutorial、Perl from the Ground Up等。Michael现在阿肯色州北小石城普瓦斯基技术学院当讲师,教授计算机信息系统。他还是北小石城阿肯色大学的兼职讲师,教授信息科学。在做讲师之前,他曾是阿肯色儿童医院的一名程序设计师/分析师,负责统计计算和数据分析。

译者简介:

王群锋

1981年生于陕西省富平县桥西大队三里村,2004年毕业于西安电子科技大学。毕业后当了一名程序员,现居西安,在IBM西安研发中心从事下一代统计预测软件的开发工作。

杜欢

淘宝网高级技术专家,2012年加入淘宝,曾就职于雅虎台湾及CISCO。对前端架构、前后端协作有自己的见解,专注于Web产品设计、可用性实施,热爱标准化。

目录:

推荐序XI

前言XII

第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

文章试读:本节将讨论如何使用JavaScript。我们知道,每个程序员编写程序的风格和惯例都不尽相同,因此在本书一开始,我想先说说我自己的编程风格和惯例,这样读者在后续章节中碰到更复杂一点的程序时,就不会感到疑惑了。本书并非一部JavaScript 新手教程,而是语言基本结构使用方法指南。 1.2.1  声明和初始化变量 JavaScript 中的变量默认是全局变量,严格地说,甚至不需要在使用前...

(查看全部试读)

展开全文
热门标签:
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •