前端之数据结构(一)| 8月更文挑战

323 阅读2分钟

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

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

数据结构

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

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

image.png

这就像我们夹蜂窝煤一样,后放的先拿出来。而放入的过程就是入栈,对应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]

队列

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

image.png

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

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

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

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

image.png

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

End!