Python数据结构与算法:第2-3课时:顺序表的一体式结构与分离式结构
顺序表的结构与实现
顺序表的结构
比如要存以上四个整形数据,1328,693.。。。
一个顺序表的完整信息包括两部分
,一部分是表中的元素集合(数据信息),另一部分是为实现正确操作而需记录的信息,即有关表的整体情况的信息(表头),这部分信息主要包括 元素存储区的容量 和 当前表中已有的元素个数 两项。
顺序表的两种基本实现方式
图a为一体式结构,存储表信息的单元与元素存储区以连续的方式安排在一块存储区里,两部分数据的整体形成一个完整的顺序表对象。
一体式结构整体性强,易于管理,读取方便。但是由于数据元素存储区域是表对象的一部分,顺序表创建后,元素存储区就固定了,你如果再加上一个元素,那么就只有从新生成一个新的储存区顺序表。
就好比,1是顺序表1. 2是顺序表2 3是要加到顺序表1的新元素,但是发现后面的内容紧接着放的是顺序表2的内容,所以必须重新生成顺序表1,效率就低了
图b为分离式结构,表对象里只保存与整个表有关的信息(即容量和元素个数),实际数据元素存放在另一个独立的元素存储区里,通过链接与基本表对象关联。
分离式更好(更常见),可以充分高效的实现数据的动态变化