跳到主要内容

算法

该章节汇总算法常见考点

排序算法

冒泡排序

数据结构

算法复杂度

查找 100 以内质数。 排出 2,3,5 后的时间复杂度。

单链表反转

2.快排 3.即时通信(除了Ajax和websocket)

二叉树遍历

算法

各类排序算法以及复杂度计算

  1. 快排原理,复杂度计算

二分法

编程题

台阶算法

N 个台阶算法,一次可一步,两步或三步,总共的走法。

x+2y+3z = n; // 求取所有解 m

f(n) = f(n-1)+f(n-2)+f(n-3) n=1 1 n=2 2 n=3 3

背包问题(动态规划)

因数分解

如下,实现 calc 方法,可以将输入的数拆解为尽可能多的乘数,所有数相乘等于输入数。

/**
* @param {number} n 乘积
* @return {Array} 拆解后的乘数
*/

function calc (n) { }
console.log(calc(7))
// [7]
console.log(calc(8))
// [2, 2, 2]

console.log(calc(24))
// [2, 2, 2, 3]

console.log(calc(30))
// [2, 3, 5]

质数递归

数组找公共元素

最大子数组和