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

说到数据结构,对于前端来讲其实接触的不多,就好比说链表,前端是没有的,可是经过Array以及JavaScript的内置api能够知足链表的几乎全部操做。虽然说如此,可是学习好数据结构对与咱们的往后开发确定是大有脾益的。甚至能够发现,不少平常的操做,其实就是一些数据结构的映射。前端

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

数据结构

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

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

image.png

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

  • JavaScript中是没有栈的,可是能够用 Array实现栈的全部功能。并发

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

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异步中的任务队列。ui

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

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

image.png

  • 栈经常使用操做:push、 shift、 queue[0]

End!

相关文章
相关标签/搜索