
前端算法
前端必学算法
abuanden
这个作者很懒,什么都没留下…
展开
-
3、手撕快排算法和归并排序
快排算法思想:在数据集之中,选择一个元素作为"基准"(pivot)。所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。对"基准"左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。实现var quickSort = function(arr) { if (arr.length <= 1) { return arr; } var pivotIndex = Math.floor(arr.length / 2);转载 2021-03-05 01:11:18 · 163 阅读 · 1 评论 -
2、爬楼梯 编代码
题目描述:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?方法分析:这道题主要是要明白该爬楼梯的规律其实就是符合斐波那契数列(Fibonacci Sequence) 规律的,问题就迎刃而解了。为什么说它是斐波那契数列呢?我们可以这样来思考:当我们从第 n-1 阶楼梯爬到第 n 阶楼梯时,需要1步;当我们从第 n-2 阶楼梯爬到第 n 阶楼梯时,需要2步.也就是说 到达第 n 阶楼梯的方法数等于到达第 n-1 阶楼梯的方法数加上到达第原创 2021-03-05 01:05:04 · 980 阅读 · 1 评论 -
1、二叉树先序,中序,后序遍历的递归和非递归方法(JS实现)。
查找某个节点的路径的方法通常有两种,一种是递归算法,另一种是非递归算法定义树节点class TreeNode{ constructor(value){ this.value = value; this.left = null; this.right = null; }}构建树// 构建树let root = new TreeNode(1);root.left = new TreeNode(2);root.right = n.原创 2021-03-03 23:24:25 · 307 阅读 · 1 评论