00-线性结构

线性结构图示

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容