第21章 数据结构
“我从心底认为,优秀的程序员与平庸的程序员之间的区别,是在于认为自己的代码重要还是数据结构更加重要。平庸的程序员眼里只有代码,优秀的程序员则关注数据结构及之前的关系。”
——林纳斯·托瓦兹(Linus Torvalds)
21.1 数据结构
数据结构(data structure)是用来存储和组织信息的一种形式,对于编程来说是至关重要的,大多数编程语言也都自带了数据结构。本书前面的章节已经介绍了如何使用Python中自带的列表、元组和字典等多个数据结构。本章将学习如何创建两个新的数据结构:栈和队列。
21.2 栈
栈(stack)是一种数据结构。与列表类似,我们可以向栈中添加或移除元素,但是不同的地方是,只能添加或移除最后一个元素。假设有一个列表[1, 2, 3],我们可以移除其中任意一个元素。但是对于内含相同元素的栈,则只能移除其中最后一个元素3。移除3之后,栈就变成了[1, 2],这时只能移除2。移除2之后,可以继续移除1,这时栈变成了一个空栈。将元素从栈中移除,被称为出栈(popping)。如果将1放回栈中,则变成了[1];再将2放回,则是[1, 2]。将元素放回栈中,被称为入栈(pushing)。这种最后一个放入的元素被第一个取出的数据结构,也被称为先进后出(LIFO)型数据结构。
可以将
本文介绍了Python编程中的数据结构,特别是栈和队列。栈是一种先进后出(LIFO)的数据结构,常用于逆转字符串;队列则遵循先进先出(FIFO)原则,可模拟购票队列。通过实例展示了如何使用栈和队列进行操作,并提供了挑战练习以加深理解。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



