![Algorithms In EcmaScript](./_imgs/banner/logo.jpg)
序号 |
名称 |
En |
进度 |
1 |
用户:谁适合使用本教程? |
Who |
![](./_imgs/icon/plan.svg) |
2 |
目的:为什么要学习算法? |
Why |
![](./_imgs/icon/plan.svg) |
3 |
内容:算法基础需要掌握那些知识? |
What |
![](./_imgs/icon/plan.svg) |
4 |
环境:你需要准备什么样的环境? |
Where |
![](./_imgs/icon/plan.svg) |
5 |
计划:如何制定可持续的学习计划? |
When |
![](./_imgs/icon/plan.svg) |
6 |
方法:如何高效、牢固的掌握算法? |
How |
![](./_imgs/icon/plan.svg) |
7 |
付出:你需要付出什么? |
How Much |
![](./_imgs/icon/plan.svg) |
序号 |
名称 |
En |
图解 |
进度 |
1 |
冒泡排序 |
Bubble sort |
![](./_imgs/icon/img.svg) |
![](./_imgs/icon/done.svg) |
2 |
插入排序 |
Insertion sort |
![](./_imgs/icon/img.svg) |
![](./_imgs/icon/done.svg) |
3 |
选择排序 |
Selection sort |
![](./_imgs/icon/img.svg) |
![](./_imgs/icon/done.svg) |
4 |
归并排序 |
Merge sort |
![](./_imgs/icon/img.svg) |
![](./_imgs/icon/done.svg) |
5 |
快速排序 |
Quick sort |
![](./_imgs/icon/img.svg) |
![](./_imgs/icon/done.svg) |
6 |
希尔排序 |
Shell sort |
![](./_imgs/icon/img.svg) |
![](./_imgs/icon/done.svg) |
7 |
堆排序 |
Heap sort |
|
![](./_imgs/icon/lock.svg) |
8 |
计数排序 |
Counting sort |
|
![](./_imgs/icon/lock.svg) |
9 |
基数排序 |
Radix sort |
|
![](./_imgs/icon/lock.svg) |
10 |
排序总结 |
Sorting |
|
![](./_imgs/icon/done.svg) |
序号 |
名称 |
En |
图解 |
进度 |
1 |
线性搜索 |
Linear Search |
![](./_imgs/icon/img.svg) |
![](./_imgs/icon/done.svg) |
2 |
跳转搜索 |
Jump Search |
![](./_imgs/icon/img.svg) |
![](./_imgs/icon/done.svg) |
3 |
二分查找 |
Binary Search |
![](./_imgs/icon/img.svg) |
![](./_imgs/icon/done.svg) |
4 |
差值搜索 |
Interpolation Search |
![](./_imgs/icon/img.svg) |
![](./_imgs/icon/done.svg) |
序号 |
名称 |
En |
图解 |
进度 |
1 |
阶乘 |
Factorial |
|
![](./_imgs/icon/done.svg) |
2 |
斐波那契数 |
Fibonacci |
|
![](./_imgs/icon/done.svg) |
3 |
最大公约数 |
Greatest Common Divisor |
|
![](./_imgs/icon/done.svg) |
4 |
最小公倍数 |
Least Common Multiple |
|
![](./_imgs/icon/done.svg) |
5 |
素数检测 |
Primality Test |
|
![](./_imgs/icon/done.svg) |
6 |
素数筛查 |
Primes Count |
|
![](./_imgs/icon/done.svg) |
7 |
2 的幂 |
Power Of Two |
|
![](./_imgs/icon/done.svg) |
8 |
3 的幂 |
Power Of Three |
|
![](./_imgs/icon/done.svg) |
序号 |
名称 |
En |
图解 |
进度 |
1 |
回文 |
Palindrome |
|
![](./_imgs/icon/plan.svg) |
2 |
汉明距离 |
Hamming Distance |
|
![](./_imgs/icon/plan.svg) |
3 |
来温斯坦距离 |
Levenshtein distance |
|
![](./_imgs/icon/plan.svg) |
4 |
KMP 算法 |
KMP Algorithm |
|
![](./_imgs/icon/plan.svg) |
5 |
字符串快速查找算法 |
Z Algorithm |
|
![](./_imgs/icon/plan.svg) |
6 |
Rabin Karp 算法 |
Rabin Karp Algorithm |
|
![](./_imgs/icon/plan.svg) |
7 |
最长公共子串 |
Longest Common Substring |
|
![](./_imgs/icon/plan.svg) |
8 |
正则表达式匹配 |
Regular Expression Matching |
|
![](./_imgs/icon/plan.svg) |
序号 |
名称 |
En |
图解 |
进度 |
1 |
笛卡尔积 |
Cartesian Product |
|
![](./_imgs/icon/plan.svg) |
2 |
洗牌算法 |
Fisher–Yates Shuffle |
|
![](./_imgs/icon/plan.svg) |
3 |
幂集 |
Power Set |
|
![](./_imgs/icon/plan.svg) |
4 |
排列 |
Permutations |
|
![](./_imgs/icon/plan.svg) |
5 |
组合 |
Combinations |
|
![](./_imgs/icon/plan.svg) |
6 |
最长公共子序列 |
Longest Common Subsequence |
|
![](./_imgs/icon/plan.svg) |
7 |
最长递增子序列 |
Longest Increasing Subsequence |
|
![](./_imgs/icon/plan.svg) |
8 |
最短公共父序列 |
Shortest Common Supersequence |
|
![](./_imgs/icon/plan.svg) |
9 |
背包问题 |
Knapsack Problem |
|
![](./_imgs/icon/plan.svg) |
10 |
最大子数列问题 |
Maximum Subarray |
|
![](./_imgs/icon/plan.svg) |
11 |
组合求和 |
Combination Sum |
|
![](./_imgs/icon/plan.svg) |
序号 |
名称 |
En |
图解 |
进度 |
1 |
链表基础 |
Linked List |
|
![](./_imgs/icon/plan.svg) |
2 |
中间结点 |
Middle |
|
![](./_imgs/icon/done.svg) |
3 |
交换 |
Swap |
|
![](./_imgs/icon/done.svg) |
4 |
环检测 |
Cycle Test |
|
![](./_imgs/icon/done.svg) |
5 |
环起点 |
Cycle Begins |
|
![](./_imgs/icon/done.svg) |
6 |
移除 |
Remove |
|
![](./_imgs/icon/done.svg) |
7 |
翻转 |
Reverse |
|
![](./_imgs/icon/done.svg) |
8 |
局部翻转 |
Partial Reverse |
|
![](./_imgs/icon/done.svg) |
9 |
排序 |
Sort |
|
![](./_imgs/icon/plan.svg) |
10 |
分割 |
Partition |
|
![](./_imgs/icon/plan.svg) |
11 |
交点 |
Intersection |
|
![](./_imgs/icon/plan.svg) |
11 |
复制 |
Copy |
|
![](./_imgs/icon/plan.svg) |
序号 |
名称 |
En |
图解 |
进度 |
1 |
二叉树基础 |
Binary Tree |
|
![](./_imgs/icon/plan.svg) |
2 |
遍历 |
Traversal |
|
![](./_imgs/icon/plan.svg) |
3 |
深度 |
Depth |
|
![](./_imgs/icon/plan.svg) |
4 |
构造 |
Construct |
|
![](./_imgs/icon/plan.svg) |
5 |
视图 |
View |
|
![](./_imgs/icon/plan.svg) |
6 |
反转 |
Invert |
|
![](./_imgs/icon/plan.svg) |
7 |
相同 |
Same |
|
![](./_imgs/icon/plan.svg) |
8 |
对称 |
Symmetric |
|
![](./_imgs/icon/plan.svg) |
9 |
二叉搜索树 |
Binary Search Tree |
|
![](./_imgs/icon/plan.svg) |
10 |
高度平衡树 |
Height Balanced |
|
![](./_imgs/icon/plan.svg) |
11 |
路经总和 |
Path Sum |
|
![](./_imgs/icon/plan.svg) |
- 深度优先搜索 (DFS)
- 广度优先搜索 (BFS)
- 克鲁斯克尔演算法 - 寻找加权无向图的最小生成树 (MST)
- 戴克斯特拉算法 - 找到图中所有顶点的最短路径
- 贝尔曼-福特算法 - 找到图中所有顶点的最短路径
- 弗洛伊德算法 - 找到所有顶点对 之间的最短路径
- 判圈算法 - 对于有向图和无向图 (基于 DFS 和不相交集的版本)
- 普林演算法 - 寻找加权无向图的最小生成树 (MST)
- 拓扑排序 - DFS 方法
- 关结点 - Tarjan 算法 (基于 DFS)
- 桥 - 基于 DFS 的算法
- 欧拉回径与一笔画问题 - Fleury 的算法 - 一次访问每个边
- 哈密顿图 - 恰好访问每个顶点一次
- 强连通分量 - Kosaraju 算法
- 旅行推销员问题 - 尽可能以最短的路线访问每个城市并返回原始城市
If you think that these can be improved in anyway, please do suggest.
- Open pull request with improvements
- Discuss ideas in issues. Tell us, what do you want to know
![License: CC BY-NC-ND 3.0](https://camo.githubusercontent.com/737aad0c1bf5098da05669813f8cd78959bf684cbee9c91d33fc1e01336a36a0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d434325323042592d2d4e432d2d4e44253230332e302d6c69676874677265792e737667)