常见算法
- 排序
- 搜索
- 递归
总结
算法提升编程思维。
时间复杂度
- O(1), O(n), O(n^2) 等
- 分析算法性能的基础
空间复杂度
- 使用的额外内存
- 例如递归栈空间
典型例子
斐波那契数列
1 | function fib(n) { |
冒泡排序
1 | function bubbleSort(arr) { |
数据结构与算法
- 数组、链表、栈、队列的区别
- 树和图的遍历
函数式风格
使用 map/reduce/filter 实现算法
性能优化
- 避免重复计算
- 使用缓存 memoization
常见问题
- 递归导致堆栈溢出
- 性能瓶颈在于 JavaScript 引擎
学习资源
- LeetCode 中文社区
- 《算法导论》
- JavaScript-Algo 项目
FILLER_JS_1
FILLER_JS_2
FILLER_JS_3
FILLER_JS_4
FILLER_JS_5
FILLER_JS_6
FILLER_JS_7
FILLER_JS_8
FILLER_JS_9
FILLER_JS_10
FILLER_JS_11
FILLER_JS_12
FILLER_JS_13
FILLER_JS_14
FILLER_JS_15
FILLER_JS_16
FILLER_JS_17
FILLER_JS_18
FILLER_JS_19
FILLER_JS_20
FILLER_JS_21
FILLER_JS_22
FILLER_JS_23
FILLER_JS_24
FILLER_JS_25
FILLER_JS_26
FILLER_JS_27
FILLER_JS_28
FILLER_JS_29
FILLER_JS_30
FILLER_JS_31
FILLER_JS_32
FILLER_JS_33
FILLER_JS_34
FILLER_JS_35
FILLER_JS_36
FILLER_JS_37
FILLER_JS_38
FILLER_JS_39
FILLER_JS_40
FILLER_JS_41
FILLER_JS_42
FILLER_JS_43
FILLER_JS_44
FILLER_JS_45
FILLER_JS_46
FILLER_JS_47
FILLER_JS_48
FILLER_JS_49
FILLER_JS_50
FILLER_JS_51
FILLER_JS_52
FILLER_JS_53
FILLER_JS_54
FILLER_JS_55
FILLER_JS_56
FILLER_JS_57
FILLER_JS_58
FILLER_JS_59
FILLER_JS_60
FILLER_JS_61
FILLER_JS_62
FILLER_JS_63
FILLER_JS_64
FILLER_JS_65
FILLER_JS_66
FILLER_JS_67
FILLER_JS_68
FILLER_JS_69
FILLER_JS_70
FILLER_JS_71
FILLER_JS_72
FILLER_JS_73
FILLER_JS_74
FILLER_JS_75