顺序表中增加元素
在尾部增加元素:时间复杂度为O(1)

在任意位置插入元素:时间复杂度为O(n)

顺序表中删除元素

删除尾部元素:时间复杂度为O(1)
删除任意位置元素:时间复杂度为O(n)

PY_SSIZE_T_MAX=float('inf')     #最大的容量
obj_size=1
class List:allocated=0     #容量默认为0size=0          #元素个数默认为0items=[]      #数据区默认为空def list_resize(self,new_size):'''self:列表本身对象:param new_size:修改之后的元素个数:return:'''allocated=self.allocated       #获取列表对象当前的容量#allocated>>1==>allocated//2if allocated>=new_size and new_size>=(allocated>>1):self.size=new_sizereturn 0#计算需要的内存容量时多少new_allocated=new_size+(new_size>>3)+(3 if new_size<9 else 6)if new_allocated>PY_SSIZE_T_MAX:    #判断是否超过了最大值return -1if new_size==0:new_allocated=0#计算我们容量需要的字节数num_allocated_bytes=new_allocated*obj_size#获取到新的内存空间的地址items=addr(self.items,num_allocated_bytes)if items==None:return -1#让列表对象的数据区地址指向新的内存空间地址self.items=itemsself.size=new_sizeself.allocated=allocatedlst=List()
result=lst.list_resize(4)
print(result)

算法—顺序表之列表的扩容机制(python实现)相关推荐

  1. 数据结构与算法 | 顺序表

    顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储.在数组上完成数据的增删查改. 对于表,栈,队列,树,图等等数据结构,我们都可通过选择顺序结构或者链式结构来进行实 ...

  2. 数据结构与算法顺序表数组版

    博主还在学校,写网络编程特别是后面的线程和多路I/O实在是太费精力,所以博主先把数据结构多跟新一点,也正好把学校的C语言数据结构的作业做了,正好一举两得 这个内容比较简单,就不再细说. #includ ...

  3. python与js通用的数据结构_五种编程语言解释数据结构与算法——顺序表3(JavaScript与Python语言实现)...

    7.JavaScript语言实现 7.1.用ES6语法编写顺序表类 //1.创建类 class MyList { //1. initList(&L):初始化表.构造一个空的线性表.放回值应该是 ...

  4. 五种编程语言解释数据结构与算法——顺序表3(JavaScript与Python语言实现)

    7.JavaScript语言实现 7.1.用ES6语法编写顺序表类 //1.创建类 class MyList {//1. initList(&L):初始化表.构造一个空的线性表.放回值应该是一 ...

  5. c语言合并两个顺序表算法,顺序表的两种合并操作(C语言)

    #include #include //基本操作函数用到的状态码 #define TRUE 1; #define FALSE 0; #define OK 1; #define ERROR 0; #de ...

  6. 妙趣横生的算法--顺序表

    静态表                                                                 题目:创建一个静态的顺序表存放整数,大小为10,完成以下的操作. ...

  7. 3、顺序表、内存、类型、python中的list

    1.内存.类型本质.连续存储 1.内存本质 2.C 语言实例-计算 int, float, double 和 char 字节大小 使用 sizeof 操作符计算int, float, double 和 ...

  8. python顺序表数组_数据结构 | 顺序表

    什么是数据结构? 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成. 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中. 比如:列表.集合与字典等都 ...

  9. 顺序表的c语言结构体描述,顺序表的基本方法实现C语言版

    顺序表--------------线性表的第一个儿子 这个儿子的结构体定义: typedef int ElemType;//取别名 typedef struct link{ ElemType * he ...

最新文章

  1. 用FDISK进行硬盘分区
  2. 模拟浏览器自动化测试工具Selenium之一eclipse集成开发部署篇
  3. nginx conf header set
  4. java 获取组件大小_java - 如何初始化取决于组件大小的图像抓取? - 堆栈内存溢出...
  5. PADS9.5 原理图和封装制作——以STM32F103为例
  6. 前端开发人员MAC装机工具
  7. 怎么在安卓手机上阅读txt小说,小说阅读器推荐
  8. PPT里快速插入上下角标
  9. 东八区转为0时区_世界时间与北京时间怎么转换,世界标准(0时差)时间以哪个国家为准?...
  10. Cortex-A53 Pipeline Ordering and Memory Ordering
  11. 百度java面试应届,秋招 百度二轮面试---血淋淋的经历写实
  12. (PTA)数据结构(作业)7、栈和队列应用,字符串矩阵,树
  13. Flink场景练习-DataStream应用程序
  14. js对象、数字深拷贝方式(转)
  15. 刷题-洛谷-P1179 数字统计
  16. Understand 2.5使用指南(中文)
  17. c语言控制led数码管,数码管LED
  18. ANYbotics /elevation_mapping 配置
  19. LAMP系统构建论文
  20. Linux虚拟文件系统、文件描述符、管道

热门文章

  1. 浮点数例外 (核心已转储)_15000 字梳理 JVM 的核心知识
  2. power计算机英语,十万火急求解计算机英语!AC power lineAND gateAND-OR circuitXOR gateunrel...
  3. android程序退出 语句,android开发中continue,break、return的区别与使用
  4. 成功解决ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。backend_agg.cp36
  5. ML之MIC:利用有无噪音的正余弦函数理解相关性指标的不同(多图绘制Pearson系数、最大信息系数MIC)
  6. Paper:《Adam: A Method for Stochastic Optimization》的翻译与解读
  7. Keras之ML~P:基于Keras中建立的回归预测的神经网络模型(根据200个数据样本预测新的5+1个样本)——回归预测
  8. tensorflow+numpy 深度学习相关函数(持续更新)
  9. 【构建之法教学项目】一个简单的基于C#的电子商务系统演练场景的代码示例...
  10. ansible相关说明