自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 [十大算法JavaScript的实现] 七、BFS广度优先搜索

目录一、概念二、类比三、实现四、结果一、概念图搜索算法,设置一个顶点,寻找所有子节点,如果未找到目标,则以所有子节点的子节点作为搜索对象,依次类推,直到没有子节点可搜索,则搜索完成。二、类比对比DFS,BFS是横向扩展的,每次只会扩展一个层级。类似一个人的关系网。三、实现js // 员工重要性 // 元素含义:[[员工id],[员工重要程度],[员工...

2020-01-20 10:25:13 358

原创 [十大算法JavaScript的实现] 六、DFS深度优先搜索

目录一、概念二、现实案例三、实现迷宫游戏寻找路径四、结果一、概念图搜索算法,设置一个顶点,对相邻节点进行搜索,一旦有可搜索点且未被搜索过,则以同样方式搜索该节点的相邻节点。直到节点无新相邻节点。则回到上一节点搜索其他未搜索过的节点。直到回到起点且无可搜索的节点。二、现实案例迷宫三、实现迷宫游戏寻找路径js/** * 迷宫二维数组 1为墙壁 * @t...

2020-01-20 10:23:38 556

原创 [十大算法JavaScript的实现] 五、BFPRT线性查找

目录一、思想二、实现三、结果一、思想快速排序(https://www.yuque.com/docs/share/7f809e06-0724-49d9-b37d-41f3b4d32b85#)的扩展。取五分中位数位基准值,减少时间复杂度。二、实现js// k / n-k+1 //找到list中第k大的数值 let BFPRT = (idxList, k) =&gt...

2020-01-20 10:20:36 208

原创 [十大算法JavaScript的实现] 四、二分查找

目录一、场景二、现实意义三、思想四、实现五、结果一、场景在一个有序的数列中,选取一个数,判断是否为未知数(必定存在于该序列范围)并可以获取对比关系,快速找到未知数。二、现实意义"猜数字"游戏快速缩小数字范围三、思想二分法:每次取范围中间值与目标值进行比较,缩小范围到原来的一半。四、实现js //随机生成一个 0-9999之间的数 let ...

2020-01-20 10:17:41 167

原创 [十大算法JavaScript的实现] 三、归并排序

目录一、思想二、实现三、结果一、思想将数列分成两半,假设每一个子序列都是按顺序排列的,那么我们可以从两个序列的第一个元素开始进行比较,将较大(或较小)的数放入合并后的数组,直到两个数组都遍历完,由于两个子序列是有序的,得到的合并后的数列也是有序的。然后我们回到假设,实际上分成两个子序列不一定是有序的,我们可以将其作为一个新的序列,进行内部分割及排序,类推直到子序列只有一个...

2020-01-20 10:15:44 163

原创 [十大算法JavaScript的实现] 二、堆排序

目录一、思想二、实现三、结果一、思想利用堆/二叉树结构特点进行交换,将数组类比为一个完全二叉树,依次对二叉树进行节点比较与交换,从子节点往上进行比较,将值较大的子节点交换到父节点,从下往上依次比较使得最大值最终到达根节点。然后,将根节点与末尾节点交换,移除末尾节点(作为当前堆最大值)二、实现js /** * 对数列list进行堆排序 */ let he...

2020-01-20 10:07:10 154

原创 [十大算法JavaScript的实现] 一、快速排序

目录一、优缺点二、思想三、实现四、结果一、优缺点快速排序因为每次交换都是“跳跃式”的,性能更好速度更快,但是排序是不稳定的,不稳定的具体含义是:相同数值的元素完成排序后的位置是不确定的(可能交换)。二、思想将数列分割为三部分:小于基准值的数列,基准值,大于基准值得数列。子数列分别分割成自己的三个部分,递归进行排序三、实现js // 入口函数 let...

2020-01-20 10:05:08 137

原创 Vue高阶组件实现

目录一、高阶组件概念二、目标三、思路四、准备五、实现六、难点Reference一、高阶组件概念何谓高阶组件?类比高阶函数的定义:将函数作为参数的函数就是高阶函数,那么,将组件作为参数的组件就是高阶组件。二、目标假如我们有一个组件,我们希望通过某个函数,去扩展它,得到一个新的组件,新的组件有完全的参数组件的行为,如果这点可以满足,那么其他扩展就可以针对性的...

2020-01-20 10:00:56 5193

原创 寻找最长公共子串

目录一、试题二、现实意义三、实现四、结果一、试题给定一个函数,输入两个字符串,找到两者最长公共子串二、现实意义实现文本对比,可在类似git等多人代码合并工具中应用三、实现js //输入 findLongestCommonSubstring({ str1: "Saying and doing are two different things", ...

2020-01-20 09:59:01 256

原创 基于WebSocket的项目构建工具实现

目录一、背景二、技术方案三、实现四、效果展示五、问题与扩展Reference一、背景类似Jenkins的构建工具在项目维护以及部署上为开发人员节约了大量时间,但是构建工具本身也会消耗一部分服务器资源,对于服务器配置较低的小项目或个人项目,往往很难分配出相应资源运载这个"大家伙"。针对这类场景,一套简单的构建系统:能实现基本的构建任务;能实时查看构建进度及构建信息;最...

2020-01-20 09:55:47 262

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除