写点什么

前端之数据结构(一)

用户头像
Augus
关注
发布于: 1 小时前
前端之数据结构(一)

说到数据结构,对于前端来说其实接触的很少,就比如说链表,前端是没有的,但是通过Array以及JavaScript的内置 api 可以满足链表的几乎所有操作。虽说如此,但是学习好数据结构对与我们的日后开发肯定是大有脾益的。甚至可以发现,很多日常的操作,其实就是一些数据结构的映射。


接下来就让我给大家介绍一下常见的八种数据结构。

数据结构

数据结构:计算机存储、组织数据的方式,就像锅碗瓢盆。

  • 一个后进先出的数据结构。



这就像我们夹蜂窝煤一样,后放的先拿出来。而放入的过程就是入栈,对应JavaScript中的 push 操作。对应的拿出就是出栈操作啦。对应其中的 pop。最后放入蜂窝煤的所在的位置就是对应的栈顶(top)了。


  • JavaScript中是没有栈的,但是可以用 Array实现栈的所有功能。

  • 应用场景,比如函数的调用堆栈。


function fun1() {    // 1 some codes    fun2()    // 2 some codes}
function fun2() { return "Hello Word"}
fun1()
复制代码


上述代码,就是一个调用栈的过程,它会先调用 fun1,再调用 fun2,而 当 fun2执行完之后,fun1才算执行完。


最后调用的函数,最先执行完。


  • 栈常用操作:push、 pop、 stack[stack.length - 1]

队列

  • 一个先进先出的数据结构。



  • 同样在JavaScript中也没有队列的,但是可以用 Array实现栈的所有功能。

  • 应用场景,比如 JS 异步中的任务队列。

  • JS 是单线程,无法同时处理异步中的并发任务。

  • 使用任务队列的方法先后处理异步任务。



  • 栈常用操作:push、 shift、 queue[0]


End!

用户头像

Augus

关注

爱瞎搞的软件开发工程师 2021.06.10 加入

某摸鱼集团

评论

发布
暂无评论
前端之数据结构(一)