00-线性结构

作者: 卯月七 | 来源:发表于2020-03-16 20:20 被阅读0次
线性结构图示

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

相关文章

  • 00-线性结构

    1. 什么是线性结构 当我们创造线性结构时,会自动为我们创建一个线性结构空间,并且赋予初始的第一个元素一个确定的i...

  • 数据结构-02- 线性结构-01-线性结构-00-定义

    一,线性结构 (1),hasoneandonlyone 被称为“第一个”的数据元素 (2),hasoneandon...

  • 线性结构和非线性结构数据结构

    线性结构和非线性结构数据结构包括: 线性结构和非线性结构 线性结构l 线性结构作为最常用的数据结构.其特点是数据元...

  • 数据结构(二) --数组和链表

    数据结构主要可以分为两大模块: 线性结构 非线性结构 本文主要开始讲线性结构。 什么是线性结构 线性结构,顾名思义...

  • 线性结构和非线性结构

    数据结构包括:线性结构和非线性结构。 线性结构 线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性...

  • 线性结构和非线性结构

    数据结构包括:线性结构+非线性结构 线性结构: 1、线性结构是最常用的数据结构 2、特点:数据元素之间存在一对一的...

  • 重学数据结构 --- 分类+稀疏数组

    一、数据结构的分类 1. 数据结构两大类 线性结构和非线性结构 1) 线性结构 线性结构是最常见的数据结构,特点是...

  • 数据结构与算法分析一

    线性结构与非线性结构 线性结构 1: 线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系(如:...

  • java数据结构的入门(1)

    今天刚接触了数据结构,马上来分享一波。 一般来说,数据结构分为线性结构和非线性结构。 线性结构: 线性结构作为最常...

  • 数据结构复习资料

    第二章向量 概述知识点 数据结构可以分为线性结构,半线性结构,与非线性结构。 最为基本的线性结构称为序列(sequ...

网友评论

    本文标题:00-线性结构

    本文链接:https://www.haomeiwen.com/subject/vguoehtx.html