学习总结

【数据结构与算法】

线性表

~顺序存储:顺序存储是指在内存中用一块连续的存储空间按顺序存储线性表的各个元素,特点是用物理位置上相邻来表示数据元素之间逻辑相邻关系。

顺序表:采用顺序存储结构的线性表称为顺序表,顺序表中逻辑上相邻的数据元素在物理存储位置上也是相邻的。


 顺序表的初始化:即初始化构造一个空表,将长度设为0,表示里面没有顺序;
 顺序表的插入:在第i个位置插入一个值为x的新元素,使原来的表长n变为n+1;
 顺序表的删除:将表中第i个元素删除,是原来的表长n变为n-1;
 顺序表中按值查找:在线性表中查找第一个与给定值x相等的数据元素。

顺序存储既有优点也有缺点:

优点:存储密度高,且能随机的存取数据元素;不需要附加空间。

缺点:很难估计所需空间大小(过大造成浪费);开始就要分配足够大的一片连续的内存空间;更新操作代价大(在进行插入、删除是需要移动大量数据元素,运算效率低)。

~链式存储:通过“链”建立起数据元素之间的逻辑关系,这种用链接方式存储的线性表简称链表,在链表上做插入、删除运算不需要移动数据元素。


链表:通过“链”在存储时建立起数据元素之间的逻辑关系;逻辑上相邻的元素存储时不要求也相邻;用链接方式存储的线性表简称链表,在链表上做插入、删除运算不需要移动数据元素;按照需要为表中新加入的元素动态的分配存储空间,动态改变长度。

根据链接方式和指针多少可分为:单链表、双链表、 循环链表


顺序存储和链式存储的比较

链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,
一部分存放结点值,另一部分存放表示结点间关系的指针。
    优点:插入或删除元素时很方便,使用灵活。
    缺点:存储密度小(<1),存储空间利用率低。

顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一),要求内存中可用存储单元的地址必须是连续的。
    优点:存储密度大(=1),存储空间利用率高。
    缺点:做插入或删除元素操作时须大量地移动数据元素,效率比较低占用连续的存储空间,存储分配只能预先进行;估计过大造成空间浪费;估计过小,造成数据溢出。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值