顺序表

 

顺序表的实际存储

顺序表的实际存储有两种方式:元素内置和元素外置。

元素内置

系统划分出一块儿内存,用于数据存储。

顺序表

元素外置

内存块连接内存单元。内存单元中放的是元素,内存块中存放的是元素的地址。

顺序表

顺序表的扩容方式

当以内置方法存储元素时,系统会划分出新的一块大小为扩容后的内存,并将原来内容拷贝进新的内存块。这种方法需要改变表对象。

当以外置方法进行存储元素的时候,系统新开辟一个内存单元放新加的数据,然后在原来内存块上增长一定的长度,存放新内存单元的地址。这样一来,不需要更换表对象即可进行扩容。这种顺序表的存储方法被称为动态顺序表。

顺序表的扩容方法

顺序表有两种扩容方法:

1、每次增加相同的内存单元数目,这样节省空间,但是可能会操作频繁

2、每次进行容量倍增扩容。这种方法会浪费空间,但是为一种空间换时间的方法。

在Python中list和tuple两种数据类型采用了顺序表进行实现。