首页 > 代码库 > 《大话数据结构》笔记(2)--线性表的顺序存储结构

《大话数据结构》笔记(2)--线性表的顺序存储结构

线性存储结构的Java实现代码:
https://github.com/Lyu0709/data-structure/tree/master/src/com/coding/basic/array

第三章 线性表
技术分享
定义
技术分享
数学语言
若将线性表记为(a1, ..., ai-1, ai, ai+1, ..., an),则表中ai-1领先于aiai领先于ai+1,称ai-1ai的直接前驱元素,ai+1ai的直接后继元素。当i=1,2,..,n-1时,ai有且仅有一个直接后继,当n=2,3,...,n时,ai有且仅有一个直接前驱。
技术分享
线性表元素的个数n(n>=0)定义为线性表的长度,当n=0时,称为空表。


线性表的抽象数据类型
技术分享
技术分享
 

线性表的顺序存储结构
线性表的两种物理结构的第一种——顺序存储结构
定义
技术分享
 
线性顺序表中的每个数据元素的类型都相同,可以用一维数组来实现顺序存储结构。

技术分享
 
地址计算方法
技术分享
 

顺序存储结构的插入与删除
获得第i个元素:O(1)
技术分享
技术分享

插入元素:O(n)
技术分享
技术分享
技术分享
 
删除元素:O(n)
技术分享
技术分享
技术分享
技术分享
 
线性表的顺序存储结构,在存、读数据时,时间复杂度都是O(1);而插入或删除时,时间复杂度都是O(n)

线性表的顺序存储结构的优缺点
技术分享

《大话数据结构》笔记(2)--线性表的顺序存储结构