数据结构中顺序表 和 链表的不同/优势/劣势(文字解释 和 图文解释)

图文解释:

文字解释:

从4个方面比较:所占空间,运行时间效率,具体相关操作(增 删 查 改),和适用情况

其中,运行时间的比较放在了     具体相关操作 里面去解读

补充:存储密度 = 结点数据本身占用的空间 / 结点占用的空间总量

存储密度越大,存储空间的利用率越高

1.所占空间:

顺序表

(1)优点:内存空间仅需要存放数据,存储密度大(为1),每个结点所占空间小

(2)缺点:顺序存储需要数组来完成,申请的为静态内存空间,预先分配,空间固定,空间可能出现不够用或者浪费的情况

链表

(1)优点:结点空间可以动态申请和释放,灵活多变,整体空间利用率高,不会出现浪费空间以及空间不够用的现象

(2)缺点:存储密度小(小于1),每个结点所占空间大

2.具体相关操作的对比 -----------增加(插入) 和 删除操作

顺序表

(1)优点:无

(2)缺点:

需要移动数据元素,依次将  增加和删除的后面的元素进行移位

时间复杂度为 O(n)

链表

(1)优点:

无需移动数据元素,直接通过数据的指针域进行操作,实现增加和删除

时间复杂度为 O(1)

(2)缺点:无

3.具体相关操作的对比 -----------查找 和 改变操作

顺序表

(1)优点:

随机存取元素。可通过数组下标,直接找到某个数组,完成对数据的查找和改变。

时间复杂度为 O(1)

(2)缺点:无

链表

(1)优点:无

(2)缺点:

顺序存取元素,需要从首元结点,依次向后查找,直到找到所要找的数据

时间复杂度为 O(n)

4.适用情况

顺序表:

空间上:        表长变化不大

操作上:        经常进行 查找 和 改变 操作的

                       很少进行 增加(插入)和删除操作的

链表:

空间上:        表长变化大的

操作上:        经常进行 增加 和 删除 操作的

                      很少进行 查找 和 改变 操作的(影响较小)

5.总结:

无论顺序表还是链表,没有哪一种是更好的,只有在合适的情况下,选择合适的存储结构,才是正确的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值