![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaScript版数据结构与算法 轻松解决前端算法面试
文章平均质量分 57
JavaScript版数据结构与算法 轻松解决前端算法面试
yanling.zhang
这个作者很懒,什么都没留下…
展开
-
第10章:堆
插入:将值插入堆的底部,即数组的尾部。然后上移,将这个值和它的节点进行交换,直到父节点小于等于这个插入的值。大小为k的堆中插入元素的时间复杂度为O(logk)获取堆顶:直接返回数组的头部。获取堆的大小:返回数组的长度。原创 2023-05-04 21:38:28 · 798 阅读 · 1 评论 -
第9章:图
网络结构由边连接的节点。原创 2023-05-04 20:48:57 · 81 阅读 · 0 评论 -
第8章:树
只有2步,写代码也只有2行代码,但是这2行代码实现了深度优先递归,在遍历的过程中被反复调用很多次。如上图:访问顺序:1,2, 4, 5,3, 6, 7。2.对根节点的children挨个进行深度优先遍历。1.二叉树:树中每个树的节点最多有2个节点。标题,目录,深入看每个目录下的小节。3.把队头的children挨个入队。4.重复第2,3步,知道队列为空。2.对结节点的左子树进行先序遍历。3.对根节点的右子树进行先序遍历。1.新建一个队列,把根节点入队。2.把队头出队并访问。原创 2023-04-27 09:52:35 · 689 阅读 · 0 评论 -
第7章 “字典”
字典是什么?与集合类似,也是一种存储唯一值的数据结构,但它是以键值对的形式来存储。(最重要的特性)在Es6中新增了字典,名为Map字典的常用操作:增删改查。原创 2023-04-26 16:39:52 · 336 阅读 · 0 评论 -
第6章:集合
一种无序且唯一的数据结构。不关心顺序,集合里面的元素都是唯一的。栈,队列,链表他们里面都有可能出现重复的数据,但是集合里面的元素是唯一的。栈,队列,链表它们都有自己的顺序,但是集合是无序的。Es6中集合:名为Set去重复,判断某元素是否在集合中,求交集(几个集合里面都存在的元素)原创 2023-04-26 11:11:55 · 528 阅读 · 0 评论 -
第5章 数据结构之“链表”
1.多个元素组成的列表。2.元素的存储不连续,用next指针连在一起。3.原创 2023-04-25 18:20:02 · 464 阅读 · 0 评论 -
第4章 数据结构之“队列”
1.一个先进先出的数据结构2.javascript中没有这个数据结构,但是可以使用array实现队列的所有功能。3.队列常用操作:push,shift,获取队列头部的元素:queue[0]const queue = [ ] // 入队: queue . push(1) // 出队:( 移除数组的第一个元素,并且返回) queue . shift()队列是一个先进先出的数据结构。利用这个特性可以解决很多问题,例如:js异步任务队列 2.最近的请求次数。原创 2023-04-25 15:48:48 · 398 阅读 · 0 评论 -
第3章 数据结构之“栈”
1.一个先进后出的数据结构。2.javascript没有栈,但是可以使用array实现栈的所有功能。3.栈常用:入栈push, 出栈pop,栈顶:stack[stack.length - 1]原创 2023-04-19 15:36:38 · 97 阅读 · 0 评论 -
第2章 时间空间复杂度计算
一个函数,用大O表示,例如:O(1), O(N), O(logN).定性描述算法的运行时间。时间复杂度常见图:案例:O(1)O(n):解释:在每次循环的时候都打印一次i,中间的for循环里面的代码被执行了n次,随着i的增大的增大,n也会增大。原创 2023-04-19 11:00:27 · 631 阅读 · 0 评论