欢迎光临中图网 请 | 注册
> >>
数据结构与算法-JavaScript描述

数据结构与算法-JavaScript描述

作者:麦克米伦
出版社:人民邮电出版社出版时间:2014-09-01
开本: 16开 页数: 200
中 图 价:¥35.3(7.2折) 定价  ¥49.0 登录后可看到会员价
加入购物车 收藏
运费6元,满69元免运费
?快递不能达地区使用邮政小包,运费14元起
云南、广西、海南、新疆、青海、西藏六省,部分地区快递不可达
本类五星书更多>

数据结构与算法-JavaScript描述 版权信息

数据结构与算法-JavaScript描述 本书特色

在过去几年中,javascript凭借node.js和spidermonkey等平台,在服务器端编程中得到了广泛应用。javascript程序员因而迫切需要使用传统语言(比如c++和java)提供的工具,包括传统的数据结构以及传统的排序和查找算法。《数据结构与算法javascript描述》讨论在数组即对象、无处不在的全局变量、基于原型的对象模型等javascript语言的环境下,如何实现高效的数据结构和算法。   《数据结构与算法javascript描述》适合javascript程序员以及对javascript语言感兴趣的学习者,特别是在学校中没有系统学习过计算机科学相关课程的“跨界”程序员。

数据结构与算法-JavaScript描述 内容简介

随着javascript成功走出客户端,在服务器端编程中得到日益广泛的应用,javascript程序员需要实现与c#或java等传统面向对象编程语言相似的数据结构与算法。本书是用javascript描述数据结构与算法的开山之作,汇聚了作者多年的实战经验。这本实战指南通过丰富的示例,向读者透彻讲解了在javascript环境下,如何通过一系列存储机制(包括链表、栈、队列和图)高效地达到编程目的。

通过本书的学习,读者将能自如地选择*合适的数据结构与算法,并在javascript开发中懂得权衡使用。此外,本书也概述了与数据结构与算法相关的javascript特性。

本书主要内容如下。

数组和列表:*常用的数据结构。
栈和队列:与列表类似但更复杂的数据结构。
链表:如何通过它们克服数组的不足。
字典:将数据以键-值对的形式存储。
散列:适用于快速查找和检索。
集合:适用于存储只出现一次的元素。
二叉树:以层级的形式存储数据。
图和图算法:网络建模的理想选择。
算法:包括排序或搜索数据的算法。
高级算法:动态规划和贪心算法。

数据结构与算法-JavaScript描述 目录

目 录



推荐序 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描述 作者简介

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 or A Clear and Concise Introduction to C++ Programming For the Beginner、Java Programming Tutorial、Perl from the Ground Up等。Michael现在阿肯色州北小石城普瓦斯基技术学院当讲师,教授计算机信息系统。他还是北小石城阿肯色大学的兼职讲师,教授信息科学。在做讲师之前,他曾是阿肯色儿童医院的一名程序设计师/分析师,负责统计计算和数据分析。

商品评论(0条)
暂无评论……
书友推荐
编辑推荐
返回顶部
中图网
在线客服