第21章 数据结构
“我从心底认为,优秀的程序员与平庸的程序员之间的区别,是在于认为自己的代码重要还是数据结构更加重要。平庸的程序员眼里只有代码,优秀的程序员则关注数据结构及之前的关系。”
——林纳斯·托瓦兹(Linus Torvalds)
21.1 数据结构
数据结构(data structure)是用来存储和组织信息的一种形式,对于编程来说是至关重要的,大多数编程语言也都自带了数据结构。本书前面的章节已经介绍了如何使用Python中自带的列表、元组和字典等多个数据结构。本章将学习如何创建两个新的数据结构:栈和队列。
21.2 栈
栈(stack)是一种数据结构。与列表类似,我们可以向栈中添加或移除元素,但是不同的地方是,只能添加或移除最后一个元素。假设有一个列表[1, 2, 3],我们可以移除其中任意一个元素。但是对于内含相同元素的栈,则只能移除其中最后一个元素3。移除3之后,栈就变成了[1, 2],这时只能移除2。移除2之后,可以继续移除1,这时栈变成了一个空栈。将元素从栈中移除,被称为出栈