摘要:
题目:一直青蛙,一次可以跳1个台阶,也可以跳2个台阶,问该青蛙跳上n级台阶,总共需要多少种方式 分析: f(1) = 1 跳 1级台阶只有一种方式 f(2) = 2 跳 2级台阶,有两种方式 f(n) = f(n-1) + f(n-2) 跳n级,可拆分成两个问题 第一次跳,要么跳1级,要么跳2级 第 阅读全文
摘要:
题目: 用JS 计算 第n个斐波那契数列的值,之一时间复杂度 分析: 斐波那契数列 f(0) = 0 f(1) = 1 f(n) = f(n-1) + f(n-2) 前两个值的和 递归实现 这种方式会导致很多重复计算 时间复杂度是O(2^n),爆炸式增长,不可用(试试n=100,程序会卡死) 循环实 阅读全文
摘要:
为何二叉树如此重要,而不是三叉树四叉树? 性能对比: 数组:查找块O(1),增删慢O(n) 链表: 查找慢O(n),增删块O(1) 二叉搜索树BST: 查找快、增删快。二叉树可以使用二分法算法 平衡二叉树 BST如果不平衡,那就成了链表了,无法做到最优秀 所以要尽量平衡,即平衡二叉搜索树 BBST 阅读全文