2018.6.30 星期六 12:14
第 1 章 JavaScript 简介.1
1.1 环境搭建1
1.1.1 浏览器2
1.1.2 使用 Web 服务器(XAMPP)3
1.1.3 使用 Node.js 搭建 Web 服务器4
1.2 JavaScript 基础6
1.2.1 变量7
1.2.2 操作符8
1.2.3 真值和假值11
1.2.4 相等操作符(==和===)12
1.3 控制结构13
1.3.1 条件语句14
1.3.2 循环15
1.4 函数.16
1.5 面向对象编程16
1.6 调试工具18
1.7 小结.18
第 2 章 数组19
2.1 为什么用数组19
2.2 创建和初始化数组20
2.3 添加和删除元素21
2.4 二维和多维数组24
2.5 JavaScript 的数组方法参考.26
2.5.1 数组合并27
2.5.2 迭代器函数27
2.5.3 搜索和排序28
2.5.4 输出数组为字符串.31
2.6 小结.32
第 3 章 栈.33
3.1 栈的创建33
3.2 从十进制到二进制38
3.3 小结.39
第 4 章 队列40
4.1 创建队列40
4.1.1 完整的 Queue 类.42
4.1.2 使用 Queue 类.43
4.2 优先队列44
4.3 循环队列——击鼓传花.46
4.4 小结.47
第 5 章 链表48
5.1 创建一个链表49
5.1.1 向链表尾部追加元素.50
5.1.2 从链表中移除元素.52
5.1.3 在任意位置插入一个元素.54
5.1.4 实现其他方法56
5.2 双向链表58
5.2.1 在任意位置插入一个新元素.59
5.2.2 从任意位置移除元素.61
5.3 循环链表64
5.4 小结.64
第 6 章 集合65
6.1 创建一个集合65
6.1.1 has(value)方法66
6.1.2 add 方法66
6.1.3 remove 和 clear 方法67
6.1.4 size 方法68
6.1.5 values 方法.69
6.1.6 使用 Set 类.69
6.2 集合操作70
6.2.1 并集.70
6.2.2 交集.71
6.2.3 差集.72
6.2.4 子集.73
6.3 小结.74
第 7 章 字典和散列表.75
7.1 字典.75
7.1.1 创建一个字典75
7.1.2 使用 Dictionary 类78
7.2 散列表.79
7.2.1 创建一个散列表79
7.2.2 使用 HashTable 类81
7.2.3 散列表和散列集合.82
7.2.4 处理散列表中的冲突.82
7.2.5 创建更好的散列函数.90
7.3 小结.91
第 8 章 树.92
8.1 树的相关术语92
8.2 二叉树和二叉搜索树93
8.2.1 创建 BinarySearchTree 类.94
8.2.2 向树中插入一个键.95
8.3 树的遍历.98
8.3.1 中序遍历98
8.3.2 先序遍历99
8.3.3 后序遍历100
8.4 搜索树中的值101
8.4.1 搜索最小值和最大值.101
8.4.2 搜索一个特定的值.103
8.4.3 移除一个节点104
8.5 更多关于二叉树的知识.108
8.6 小结.109
第 9 章 图.110
9.1 图的相关术语110
9.2 图的表示.112
9.2.1 邻接矩阵112
9.2.2 邻接表.113
9.2.3 关联矩阵114
9.3 创建图类.114
9.4 图的遍历.116
9.4.1 广度优先搜索117
9.4.2 深度优先搜索122
9.5 小结.128
第 10 章 排序和搜索算法129
10.1 排序算法.129
10.1.1 冒泡排序130
10.1.2 选择排序133
10.1.3 插入排序134
10.1.4 归并排序135
10.1.5 快速排序138
10.2 搜索算法.142
10.2.1 顺序搜索143
10.2.2 二分搜索143
10.3 小结.145
第 11 章 算法补充知识146
11.1 递归.146
11.1.1 JavaScript 调用栈大小的 限制.147
11.1.2 斐波那契数列147
11.2 动态规划.149
11.3 贪心算法.152
11.4 大 O 表示法.153
11.4.1 理解大 O 表示法153
11.4.2 时间复杂度比较155
11.5 用算法娱乐身心156
11.6 小结.157
附录 A 时间复杂度速查表.158
12:22