We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
堆栈(Stack)又称为栈或堆叠,是计算机科学中的一种抽象数据类型,只允许在有序的线性数据集合的一端(称为堆栈顶端,英语:top)进行加入数据(英语:push)和移除数据(英语:pop)的运算。按照后进先出(LIFO, Last In First Out)的原理运作。
堆栈常用一维数组或链表来实现。堆栈使用两种基本操作:推入(压栈,push)和弹出(弹栈,pop):
由于栈后进先出的特性,常被用于匹配类型的问题上,常见的匹配类型我总结如下:
典型的例题为 leecode 1047和leecode 20,都可以通过栈来匹配最后节点与当前节点是否匹配来完成。
典型的例题为 leecode 84,leecode 42和leecode 239,可以通过栈的这种特性以O(N)复杂度完成。
当遇到相邻元素配对问题,我们会第一时间想到栈这个数据结构。但是当我们发现栈中的元素只有一种的情况下,可以对这个栈再做简化,方法为使用一个int来记录这个内容的数量,通过加法模拟栈的push操作,减法模拟栈的pop操作,从而模拟整个栈的操作,这样可以进一步优化性能。典型例题:leecode 1021
链接如下:https://www.yuque.com/james_ren/algorithm/mindmap
The text was updated successfully, but these errors were encountered:
Merge pull request #9 from James-Ren/master
c9360fa
第一周作业#10
Merge pull request #90 from James-Ren/master
0d583ca
第二周和第三周作业#10
Merge pull request #199 from UCSBGauchos/master
f72874e
第四周作业 #10
Merge pull request #201 from James-Ren/master
19e989d
第四周作业#10
No branches or pull requests
什么是Stack?
堆栈(Stack)又称为栈或堆叠,是计算机科学中的一种抽象数据类型,只允许在有序的线性数据集合的一端(称为堆栈顶端,英语:top)进行加入数据(英语:push)和移除数据(英语:pop)的运算。按照后进先出(LIFO, Last In First Out)的原理运作。
Stack的实现?
堆栈常用一维数组或链表来实现。
堆栈使用两种基本操作:推入(压栈,push)和弹出(弹栈,pop):
Stack在算法题中的作用
由于栈后进先出的特性,常被用于匹配类型的问题上,常见的匹配类型我总结如下:
典型的例题为 leecode 1047和leecode 20,都可以通过栈来匹配最后节点与当前节点是否匹配来完成。
典型的例题为 leecode 84,leecode 42和leecode 239,可以通过栈的这种特性以O(N)复杂度完成。
Stack特殊场景下变形
当遇到相邻元素配对问题,我们会第一时间想到栈这个数据结构。但是当我们发现栈中的元素只有一种的情况下,可以对这个栈再做简化,方法为使用一个int来记录这个内容的数量,通过加法模拟栈的push操作,减法模拟栈的pop操作,从而模拟整个栈的操作,这样可以进一步优化性能。
典型例题:leecode 1021
数据结构和算法知识脑图
链接如下:
https://www.yuque.com/james_ren/algorithm/mindmap
The text was updated successfully, but these errors were encountered: