图解链表数据结构和数组的优缺点

一、链表

链表是一种数据结构,在内存中通过节点记录内存地址,相互链接形成一条链的存储方式,和数组一样是一种线性表,但相比数组而言,链表在内存中不需要连续的区域,只需要每个节点都能记录下下一个节点的内存地址,通过引用进行查找,

链表增删改操作消耗时间很小,查找遍历消耗时间很大。

二、分类

2.1 单链表

每个Node 只包含一个指针,即后继指针,尾结点的next指向空指针null;
在这里插入图片描述

2.2 单向循环链表

尾结点next指向首节点地址

2.3 双向链表

每个节点都有两个地址的线性链表,两个地址分别指向前驱节点和后继节点,LinkList底层使用的双向链表

2.4 双向循环链表

首节点前驱结点指向尾结点,尾结点的后继指针指向首节点。

三、 总结

与数组相比链表数据结构的优缺点:
①跟数组相比,链表插入删除数据效率较高,时间复杂度为O(1)因为只需要改变指针的指向即可,但随机访问的效率低,因为每个节点地址都是不连续的,无规律的,

②和数组相比内存消耗空间更大,因为链表每个节点除了存储数据,还存储了两个或者一个指针.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值