JavaScript 的数据结构和算法 - 栈篇
栈
栈也是一种相当常见的数据结构。
简单的来说,你可以这么来理解栈,他就像是叠盘子一样,用的时候从上面拿,少了就往上面放,当然,这就是打个 比方,能形象的理解就好。
理解栈
从上的比喻我们也能看出来,其实栈也是比较容易理解的。而且我们也可以很容易的得出这么个想法:
-
栈也是线性表
-
它操作是受限的
-
操作也仅有一进一出
-
后来者居上,也就是先到后出,后到先出
-
单个端点的操作
至此,关于栈的基本解释就结束了。相信基本上都明白一二了。
栈的应用
如果想更深入的了解栈,你就必须得用起来才行,或者说,至少知道别人是怎么用的。接下来我会介绍一些应用 场景,感兴趣可以自行了解哈。
-
函数调用栈,不错,这个只要你接触到编程,就一定会了解到这个的。如果有小伙伴感兴趣,后续会以 JavaScript 为例,来介绍一下实际运行。
-
表达式求值,这也是本人接触到栈的时候写过的第一个关于栈的应用代码。
原文链接 传送门
本作品采用《CC 协议》,转载必须注明作者和本文链接