数据结构:
参考:https://www.cnblogs.com/tianxiaxuange/tag/%E5%89%8D%E7%AB%AF%E7%AE%97%E6%B3%95/
(1)什么是数据结构?
js 常见数据结构:数组,对象
es6 新增数据结构:
- Set
唯一性数据集合
- Map
key value 的数据集合
(2)什么是算法?
操作数据的一组方法
常见算法有:
- 冒泡排序
最佳情况:T(n) = O(n),当数据已经是正序时。 最差情况:T(n) = O(n2),当数据是反序时。 平均情况:T(n) = O(n2)
- 插入排序
最佳情况:T(n) = O(n),当数据已经是正序时。 最差情况:T(n) = O(n2),当数据是反序时。 平均情况:T(n) = O(n2)
最佳情况:T(n) = O(nlogn)。 最差情况:T(n) = O(n2)。 平均情况:T(n) = O(nlogn)
- 归并排序
- 二分查找
算法:
参考:https://www.jackpu.com/qian-duan-mian-shi-zhong-de-chang-jian-de-suan-fa-wen-ti/
1. 【递归】不可用 Javascript 控制循环的方法和关键字,最终生成 [3, 6, ...] 这种数组?
-
function gen3 (initNum, range) {
... ... }
gem3(1, 10); // [1, 4, 7, 10]gem3(3, 20); // [3, 6, 9, 12. 15, 18]
注意1. 范围和初始值都使用参数控制
注意2. 每次加3
答案:
-
function gen3 (initNum, range) { if (initNum > range) { return []; } return [initNum].concat(gen3(initNum+3, range)); }