数据结构与算法JavaScript描述 完整版216页 PDF(含源码)
本文关键词:数据结构与算法JavaScript描述,,由笔耕文化传播整理发布。
本书高清PDF 86M 收集自网络,请在资源下载后24H内删除,著作权归原书作者。如觉得图书非常有用,请自己购买纸质书籍。 《数据结构与算法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描述,由笔耕文化传播整理发布。
本文编号:151318
本文链接:https://www.wllwen.com/wenshubaike/mishujinen/151318.html