线性结构图示
1. 什么是线性结构
当我们创造线性结构时,会自动为我们创建一个线性结构空间,并且赋予初始的第一个元素一个确定的id i,对于后面的元素会以固定的步长j进行增加,以便方便的根据索引查找到数据(O(1)速度)。
2. 线性结构的优缺点
-
优点
- 方便快速的查询任何索引位置的数据
-
缺点
- 当在数据中要插入新的数据时,运行速度不友好,需要复制新的空间,在拷贝前一个空间的内容的同时,根据索引添加新的数据。因此,对于线性结构一般都是用append方法添加到列表的后面。
3. 代码
class Array():
def __init__(self, size=4):
self.__size = size # 记录容器大小
self.__item = [None] * size # 分配空间
self.__length = 0
def __setitem__(self, key, value): # 根据索引进行数据查找
self.__item[key] = value
self.__length += 1
def __getitem__(self, key): # 获取数据
return self.__item[key]
def __len__(self):
return self.__length
def __iter__(self): # 遍历数据
for value in self.__item:
yield value