青岛大学_王卓老师【数据结构与算法】Week02_12_顺序表小结_学习笔记

本文是个人笔记,仅用于学习分享,素材来自青岛大学王卓老师的教学视频,如有侵权,请留言作删文处理。

王卓老师 数据结构与算法第 02 周第 12 个原视频链接可以在B站搜索

📚 Week02_12_顺序表小结

📚 顺序表(线性表的顺序存储结构)的特点

(1) 利用数据元素的存储位置表示线性表中相邻数据元素之间的前后关系,即线性表的逻辑结构与存储结构一致。

(2) 在访问线性表时,可以快速地计算出任何一个数据元素的存储地址。因此,可以粗略地认为,访问每个元素所花时间相等。

这种存储元素的方法被称为随机存取法

📚 线性表的基本操作
// 初始化操作,建立一个空的线性表L
InitList(&L);

// 销毁已经存在的线性表L
DestroyList(&L);

// 将线性表清空
ClearList(&L);

// 若线性表为空,返回true;不为空,返回false
IsEmpty(L);

// 返回线性表L的元素个数
ListLength(L);

// 将线性表L中第i个位置元素返回给e
GetElem(L, i, &e);

// 将线性表L中第i个位置插入新元素e
ListInsert(&L, i, e);

// 删除线性表L中第i个位置元素,用e返回
ListDelete(&L, i, &e);

// L中查找与给定e相等的元素
// 若成功,返回该元素在表中的序号,否则返回0
LocateElem(L, e);
📚 顺序表的操作算法分析

(1) 时间复杂度

查找、插入、删除算法的平均时间复杂度为 O(n)

(2) 空间复杂度

显然,顺序表操作算法的空间复杂度 S(n) = O(1),没有占用辅助空间。

📚 顺序表优缺点
优点

(1) 存储密度大(结点本身所占存储量 / 结点结构所占存储量)

(2) 可以随机存取表中任一元素

缺点

(1) 在插入、删除某一元素时,需要移动大量元素

(2) 浪费存储空间

(3) 属于静态存储形式,数据元素的个数不能自由扩充

克服顺序表缺点的方法是:使用链表存储线性表。

学习笔记最后有微信公众号:惟CPP,欢迎关注,一起交流学习进步~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值