算法
文章平均质量分 93
山西仓江科技有限公司
这个作者很懒,什么都没留下…
展开
-
javascript 算法
题目一:把一个二维数组展开为一个一维数组 let arrs = [[1,2,3,4],[5,6,7,8]]; 展开为[1,2,3,4,5,6,7,8]; let arrs = [[1,2,3,4],[5,6,7,8]]; console.log(Array.prototype.concat.call(...arrs)); //[1,2,3,4,5,6,7,8] 题目二:多维数组降维度...原创 2019-02-24 22:31:58 · 292 阅读 · 0 评论 -
白话算法:时间复杂度和大O表示法
每一个优秀的开发者脑中都有时间概念。他们想给用户更多的时间让用户做他们想做的事情。他们通过最小化时间复杂度来实现这一目的。 在你能理解程序的时间复杂度之前,你需要了解最常使用它的地方:算法设计。 所以究竟什么是算法? 简单来说,算法就是一系列被控制的步骤,你通过按序执行这些步骤可以实现一些目标或者产生一些输出。让我们以你祖母烘烤蛋糕的菜单为例子。等等,这也可以算作算法?当然算! function ...转载 2019-02-25 00:19:29 · 420 阅读 · 0 评论 -
《学习javascript数据结构与算法》数组( 队列,栈,矩阵 )
learn-javascript-arithmetic 数组 1 ,求斐波那契额数列的前20个数字 已知斐波那契额数列中的第一个数字是1 第二个是二 ,从第三项开始,每一项都等于前两项之和: let fibonacci = []; fibonacci [0] = 1; fibonacci [1] = 2; for(let i = 2;i<=20;i++){ fibonacc...原创 2019-02-25 22:59:20 · 381 阅读 · 0 评论 -
《学习javascript数据结构与算法》 集合,字典和散列表
集合 集合是由一组无序且唯一(即不能重复)的项组成的。这个数据结构使用了与有限集合相同 的数学概念,但应用在计算机科学的数据结构中。在数学中,集合也有并集、交集、差集等基本操作. 我们要实现的类就是以ECMAScript 6中Set类的实现为基础的 有一个非常重要的细节,我们使用对象而不是数组来表示集合(items)。但也可以用数组 实现。在这里我们用对象来实现,稍微有点儿不一样,也学习一下实现相...原创 2019-03-19 23:19:16 · 769 阅读 · 0 评论 -
《学习javascript数据结构与算法》树
树 树是一种分层数据的抽象模型。现实生活中最常见的树的例子是家谱,或是公司的组织架构 图,如下图所示: 树的相关术语 术语 解释 根节点 位于树顶部的节点 节点 树中的每个节点 内部节点 至少有一个子节点 (7、5、9、15、13和20是内部 节点) 外部节点 没有子元素的节点 (3、6、8、10、12、14、18和25是叶节点) 子树 子树由节点和它的后代构成...原创 2019-03-20 18:35:36 · 1064 阅读 · 0 评论 -
《学习javascript数据结构与算法》图
图 邻接表 创建(队列+字典) 图是网络结构的抽象模型。图是一组由边连接的节点(或顶点)。学习图是重要的,因为任 何二元关系都可以用图来表示。 在着手实现算法之前,让我们先了解一下图的一些术语。 术语 解释 相邻顶点 由一条边连接在一起的顶点称为相邻顶点。 度 一个顶点的度是其相邻顶点的数量 路径 路径是顶点v1, v2,…,vk的一个连续序列 环 环也是一...原创 2019-03-21 18:26:31 · 1008 阅读 · 0 评论 -
《学习javascript数据结构与算法》链表
链表 要存储多个元素,数组(或列表)可能是最常用的数据结构。正如之前提到过的,每种 语言都实现了数组。这种数据结构非常方便,提供了一个便利的[]语法来访问它的元素。然而, 这种数据结构有一个缺点:(在大多数语言中)数组的大小是固定的,从数组的起点或中间插入 或移除项的成本很高,因为需要移动元素( 尽管我们已经学过的JavaScript的Array类方法可以帮 我们做这些事,但背后的情况同样是这样 ...原创 2019-03-18 21:45:47 · 584 阅读 · 0 评论 -
《学习javascript数据结构与算法》算法
排序算法 冒泡排序:拿当前值跟后面的值挨个比较 如果当前值比后面的值大 就替换位置 选择排序:每次找到数组中最小的值的索引 跟当前索引位置元素交换 插入排序:把当前索引的值当作一个基准 拿前一个值跟这个值对比 如果比他大就替换他的位置 最后把它插入到自己该在的位置。排序小型数组时,此算法比选择排序和冒泡排序性能要好 归并排序:把数组先剁两半 然后各自排序 不断递归这个过程 最后把两大半数...原创 2019-03-23 18:44:36 · 918 阅读 · 0 评论