JS-算法-数据结构
文章平均质量分 85
欧阳蒜苗
这个作者很懒,什么都没留下…
展开
-
JS手撸数据结构系列(四) ——Prim算法与迷宫生成
迷宫问题一个100*100的方格的迷宫,障碍未知,只知道起点和终点,以第一视角进入,求最短距离路径。这是当时腾讯二面的面试官给我留的题目,当时只要求写出了BFS求最短路径的算法,那么就会很自然的想到如何生成迷宫呢? 迷宫可以看成是一个图,也可以看成是一个二维数组,其中数组元素的值为1,代表可以走通,代表路,其中数组元素的值为0的话,代表不能走通,代表墙壁。要想生成随机迷宫,难点就在如何确保原创 2017-05-02 10:40:33 · 6616 阅读 · 0 评论 -
JS手撸数据结构系列 (五) ——图的遍历与迷宫求解
迷宫问题求解在上一篇文章中实现了随机迷宫的算法,这一节当然要实现迷宫求解啦,先上效果图。源代码及在线预览广度优先遍历(BFS)广度优先搜索算法(Breadth-First-Search),又译作宽度优先搜索,或横向优先搜索,简称BFS,是一种图形搜索算法。使用队列实现。简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。 我们使用类似的思想,先找到所有与起原创 2017-05-02 23:50:11 · 775 阅读 · 0 评论 -
JS手撸数据结构系列(三) ——子序列、幂集与递归
穷举所有子序列当时的情况是这样的,本来想用最蠢的方法写LCS(最长公共子序列),穷举A、B的所有子序列,然后循环O(n2)O(n^2)比较逐一比较…… 于是问题就来了。如何穷举所有子序列….似乎也不是那么好解决的问题。人脑遍历的结果如下所示:一共 24=162^4 =16 种结果,归纳成公式就是2str.length 2^{ str.length} 。现在我们需要解决的问题就是穷举出所有的子序列。原创 2017-04-24 12:45:38 · 1475 阅读 · 0 评论 -
JS手撸数据结构系列(二) —— 树的遍历
前序遍历 1.访问根节点 2.前序遍历左子树 3.前序遍历右子树 上图的二叉树遍历后 : GDAFEMHZ原创 2017-04-23 22:43:27 · 1378 阅读 · 0 评论 -
JS手撸数据结构系列(一) ——从快排搞起
快排的基本算法: - 先从数列中取出一个数作为基准数(pivot)。 - 通过一趟排序将要排序的数据分割成独立的左区间和右区间两部分。 - 再对左右区间重复第二步,直到各区间只有一个数。原创 2017-04-23 21:52:06 · 794 阅读 · 0 评论