数据结构-stack-学习笔记

http://interactivepython.org/courselib/static/pythonds/index.html

Problem Solving with Algorithms and Data Structures 


栈 stack

  • What is a Stack?

       是一种运算受限的线性表

       限制是仅允许在表的一端进行插入和删除运算

       新元素的插入和既存元素的删除发生在同一端

       这一端被称为栈顶,相对地,把另一端称为栈底

       向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素

       从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素

LIFO原则

       last-in first-out

       越新的元素越靠近栈顶,越早的元素越靠近栈底

举例

       一堆书,能看到书皮的只有top1,想看到下一本就得把top1拿走

      网页浏览和返回,URL被存在stack结构里

重要

因为栈可以逆转序列的序:一本一本摆好一摞书的顺序 和 一本一本移走的顺序正好相反



栈操作

  • The Stack Abstract Data Type




你可能感兴趣的:(数据结构,学习笔记)