链表的简介

数据结构之链表基础知识

1 什么是链表?

链表链表,可以理解为像自行车链一样。数据元素是一个一个串联在一起的,这一串数据形成的结构就是链表。每一个元素都可以称之为是一个节点。

2 链表有什么特性?

非连续,非顺序
非连续非顺序指的是 在内存中,每一个节点的存储空间不是连续和顺序的,每一个节点包含两个部分,一个是存储数据元素的“数据域”,另一个是存放下一个节点地址的“指针域”。

3 链表的优缺点?

优点:

1 如特性所说,链表对内存空间连续和顺序没有要求,所以它可以充分利用内存空间且不需要知道下一个节点的数据大小,更加灵活。
2 链表插入和删除顺序更快,只需要修改邻节点的指针域就行。

缺点:

1 每个节点除了存放自己的数据的数据域之外还需要存储下一个节点的地址,占用的空间更大。
2 链表无法随机访问元素。只能从头结点或尾节点开始遍历,查询效率很慢。

4 链表的分类

1 单向链表:指针域只存放了下一个节点的地址的链表。

在这里插入图片描述

2 双向链表:在单向链表的基础上不光存储了下一个节点的地址,还存了上一个节点的地址。

在这里插入图片描述

3 环形链表:首尾相连的链表。

在这里插入图片描述

5 链表小总结

通过链表的特性和优缺点可以知道,当数据数量不确定,并且删除和修改元素的操作过多时可以考虑使用链表。如果对数据的操作多数为查询时应避免使用链表。合理的使用链表结构可以大大提升程序的效率。

猜你喜欢

转载自blog.csdn.net/weixin_49190101/article/details/124273880