Python数据结构和列表

一、数据结构

  • 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成
  • 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中
  • 列表、集合、字典等都是一种数据结构
  • 程序=数据结构+算法

二、数据结构的分类

数据结构按照其逻辑结构可分为线性结构、树结构、图结构。

  • 线性结构:数据结构中的元素存在一对一的相互关系
  • 树结构:数据结构中的元素存在一对多的相互关系
  • 图结构:数据结构中的元素存在多对多的相互关系

三、列表

列表是一种基本数据类型。Python list本质上是一个over-allocate的数组,比如初始化列表 arr=[1,2,3,4],向其中添加元素5,arr对应的底层数组扩充后容量不是5,而是8。over-allocate的意义就是扩充容量的时候会多分配一些存储空间,优点是提高执行效率。当列表存储的元素在变少时,python会收缩底层数组,避免造成内存浪费。

四、列表各操作时间复杂度分析

列表不太适合做元素的查找、删除、插入等操作,对应的时间复杂度为O(n)。列表比较适合访问某个索引的元素、尾部添加元素或删除元

猜你喜欢

转载自blog.csdn.net/zhengzaifeidelushang/article/details/112002545