码迷,mamicode.com
首页 > 编程语言 > 详细

04-2_Python中的线性表

时间:2019-09-24 08:32:34      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:顺序表的实现   种类   定位   删除元素   因此   系统   技术   tuple   app   

Python中的顺序表

Python中的list(列表)和tuple(元组)两种类型采用了顺序表的实现技术
tuple是不可变的顺序表,因此不支持改变其内部状态的任何操作,而其他方面,则与list的性质类似

listr的基本实现技术

Python标准类型list就是一种元素个数可变的线性表,可以加入和删除元素,并在各种操作中维持已有元素的顺序(即保序)

在Python的官方实现中,list就是一种采用分离式技术实现的动态顺序表。这就是为什么用list.append(x) (或 list.insert(len(list), x),即尾部插入)比在指定位置插入元素效率高的原因。

在Python的官方实现中,list实现采用了如下的策略:在建立空表(或者很小的表)时,系统分配一块能容纳8个元素的存储区;在执行插入操作(insert或append)时,如果元素存储区满就换一块4倍大的存储区。但如果此时的表已经很大(目前的阀值为50000),则改变策略,采用加一倍的方法。引入这种改变策略的方式,是为了避免出现过多空闲的存储位置。

04-2_Python中的线性表

标签:顺序表的实现   种类   定位   删除元素   因此   系统   技术   tuple   app   

原文地址:https://www.cnblogs.com/nichengshishaonian/p/11576095.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!