随笔分类 -  算法

摘要:ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 Array.from方法可以将 Set 结构转为数组。 扩展运算符内部调用的是数据结构的 Iterator 接口,因此只要具有 Iterator 接口的对象,都可以使用扩展运算符,比如 Map 结构、Set结构 阅读全文
posted @ 2018-07-11 20:59 mino1996 阅读(165) 评论(0) 推荐(0)
摘要:通过var定义的变量,作用域是整个封闭函数,是全域的 。通过let定义的变量,作用域是在块级或是子块中。 变量提升现象:浏览器在运行代码之前会进行预解析 -不论var声明的变量处于当前作用域的第几行,都会提升到作用域的头部。 -var 声明的变量会被提升到作用域的顶部并初始化为undefined,而 阅读全文
posted @ 2018-07-10 16:37 mino1996 阅读(249) 评论(0) 推荐(0)
摘要:冒泡排序是一种用时间换空间的排序方法,最坏情况是把顺序的排列变成逆序,或者把逆序的数列变成顺序。在这种情况下,每一次比较都需要进行交换运算。举个例子来说,一个数列 5 4 3 2 1 进行冒泡升序排列,第一次大循环从第一个数(5)开始到倒数第二个数(2)结束,比较过程:先比较5和4,4比5小,交换位 阅读全文
posted @ 2018-07-09 22:57 mino1996 阅读(13013) 评论(0) 推荐(0)
摘要:一个包含n个结点的四叉树,每一个节点都有4个指向孩子节点的指针,这4n个指针有(3*n+1)个空指针. 4*n-(n-1) = 3*n+1 因为每个树都有一个头结点。头结点下面是4个子结点,然后每个子结点又有4个子节点。例如一个2层的四叉树,就会有5个结点,但头结点并不能计算进去。他的4个子节点下面 阅读全文
posted @ 2018-06-20 20:24 mino1996 阅读(391) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2018-06-04 17:51 mino1996 阅读(290) 评论(0) 推荐(0)
摘要:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 //输入一个非递减排 阅读全文
posted @ 2018-05-31 14:00 mino1996 阅读(97) 评论(0) 推荐(0)
摘要:"快速排序"的思想很简单,整个排序过程只需要三步: (1)在数据集之中,选择一个元素作为"基准"(pivot)。 (2)所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。 (3)对"基准"左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元 阅读全文
posted @ 2018-05-29 01:21 mino1996 阅读(220) 评论(0) 推荐(0)