数据结构---数组(Data Structure Array Python)
2023-09-27 14:20:51 时间
数组(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)。
相关文章
- Python socket(TCP阻塞模式)基础程式
- 关于python中数组的问题,序列格式转换
- 【华为OD机试真题 python】等和子数组最小和【2022 Q4 | 100分】
- 【华为OD机试真题 python】数组二叉树【2022 Q4 | 200分】
- 什么是Python线程?Python线程如何创建?
- 复合数值积分方法以及Python程序实现
- Python标准库中的列表(list、数组)操作汇总(大约25种操作),附示例代码
- Python语言的创始人解释为什么Python数组的索引从0开始
- 【python】leetcode206. 反转链表
- python数字图像处理---噪声的应用
- 寻找两个正序数组的中位数-python
- 删除数组中的重复元素,并返回去重的数组之Python解法
- 《Python数据分析》一2.11 NumPy数组的广播
- (数据科学学习手札34)多层感知机原理详解&Python与R实现
- Python SQL 教程之 01 pandasql 教程
- python中的none
- 【Python基础】以条件数组、匹配检查另一个数组的自定义函数实现
- 【Python基础】以条件数组、匹配检查另一个数组的例子
- python函数之hstack函数--用于将两数组或矩阵合并
- python中两个不同shape的数组间运算规则
- Python当中read(),readline(),和readlines()的区别
- Python通用函数实现数组计算
- Python字符串更新
- Python 数组 去掉arr2中 arr2与arr1重复的元素
- Windows 64bit下Python环境配置与集成IDE PyCharm