顺序表

 

顺序表是线性表的一种顺序存储形式。换句话说,线性表是逻辑结构,表示元素之间一对一的相邻关系;而顺序表是存储结构,是指用一组地址连续的存储单元,依次存储线性表中的数据元素,从而使得逻辑上相邻的两个元素在物理位置上也相邻。

 

设顺序表的第一个元素 a0 的存储地址为Loc(a0) ,每个元素占 d 个存储空间,则第 i 个元素的地址为:

 Loc(ai-1)=Loc(a0)+(i-1)*d

 

顺序表在程序中通常用一维数组实现,一维数组可以是静态分配的,也可以是动态分配的。

在静态分配时,由于数组的大小和空间是固定的,一旦空间占满,就无法再新增数据,否则会导致数据溢出。

而在动态分配时,存储数组的空间在程序执行过程中会动态调整大小,当空间占满时,可以另行开辟更大的存储空间来储存数据。

 

顺序表最主要的特点是可以进行随机访问,即可以通过表头元素的地址和元素的编号(下标),在 O(1)的时间复杂度内找到指定的元素。

顺序表的不足之处是插入和删除操作需要移动大量的元素,从而保持逻辑上和物理上的连续性。

 

顺序表基本操作:构造,插入,扩容,查找,删除,遍历 

上一篇:SQL SERVER 创建索引


下一篇:Pandas读取Excel文件