首页 > 编程语言 > 详细

数据结构---数组(Data Structure Array Python)

时间:2021-02-28 00:31:29      阅读:19      评论:0      收藏:0      [点我收藏+]

数组(Array): 是一种线性数据结构,其数据占据连续且空余(back to back & free)的内存位置。

技术分享图片

 

数组分为静态数组和动态数组:

静态(static):每个item占据相同宽度的内存位置。其支持的语言比如Java。

动态(dynamic):每个item占据的内存位置要比所需的多,通常是所需的两倍。其支持的语言比如Python。

 

python实现:直接用list实现,例如:a=[1, 2, 3, 4]。

 

时间复杂度(Time Complexity):

initialize(初始化操作):O(N)

indexing(索引操作):O(1)

traverse(遍历操作):O(N)

copy(拷贝操作):O(N)

insert(插入操作):O(N)

append(增加操作):O(1)

pop(去除操作):从尾部去除item的pop()方法为O(1),从开头或中间去除item的方法为O(N),例如pop(0)

 

之前说过,python采用的是动态数组,因此其append操作和pop操作无需先复制整个数组,再找连续且空余的内存位置进行储存,只要其先前占据的内存空间未满,那么这两个操作的时间复杂度就是O(1)。

 

数据结构---数组(Data Structure Array Python)

原文:https://www.cnblogs.com/HuZihu/p/14454781.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!