数据结构
数据是一个抽象的概念,将其进行分类后得到程序设计语言中的基本类型。如:int,float, char 等。数据元素之间不是独立的,存在特定的关系,这些关系便是结构。数据结构指数据 对象中数据元素之间的关系。 Python 给我们提供了很多现成的数据结构类型,这些系统自己定义好的,不需要我们 自己去定义的数据结构叫做 Python 的内置数据结构,比如列表、元组、字典。而有些数据 组织方式,Python 系统里面没有直接定义,需要我们自己去定义实现这些数据的组织方式, 这些数据组织方式称之为 Python 的扩展数据结构,比如栈,队列等
顺序表
在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用, 需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能 发生变化(可以增加或删除元素)。 对于这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里 的位置和顺序,表示实际应用中的某种有意义的信息,或者表示数据之间的某种关系。 这样的一组序列元素的组织形式,我们可以将其抽象为线性表。一个线性表是某类元素 的一个集合,还记录着元素之间的一种顺序关系。线性表是最基本的数据结构之一,在实际 程序中应用非常广泛,它还经常被用作更复杂的数据结构的实现基础。 根据线性表的实际存储方式,分为两种实现模型: 顺序表,将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺 序自然表示。 链表,将元素存放在通过链接构造起来的一系列存储块中。 Python 中的 list 和 tuple 两种类型采用了顺序表的实现技术,tuple 是不可变类型,即不 变的顺序表,因此不支持改变其内部状态的任何操作,而其他方面,则与 list 的性质类似。