你确定不了解一下什么是“链表”数据结构吗?

最近公司太忙了,已经连续工作两周了。不知道你们赶项目的时候加班严重吗?

在这里插入图片描述

虽然最近白天工作加班,晚上还要熬夜写文章,感觉很累,但是每次写完发布之后看着阅读量一点点的增加,偶尔还有人给我点赞,就会感觉很开心,很有成就感。在此谢谢大家阅读我的文章并给我点赞,我一定会努力写好每一篇的文章的。

开始正文前请接受我的夺命三连问:什么是链表?链表有什么优点?链表有什么缺点?有人能回答出来吗?不知道也没关系,让我们带上这三个问题开始今天的文章,一起了解一下“链表数据结构”。(注:如果有不太清楚什么是“数据结构”的可以看这里。)

在这里插入图片描述

基本概念

简介:

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

特点:

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

优点:

1、因为链表对内存空间的连续性和顺序性没有要求,所以它可以充分利用内存空间,并且这一特点还造就了链表可以不必预先知道数据的大小,更加灵活。

2、链表插入和删除数据速度快,只需要修改相邻节点的指针域就行。

缺点:

1、每个节点除了存储数据外还需要额外的存储下一个节点的地址,因此占用内存空间大。

2、链表没办法像有索引的数据结构那样随机访问某一个元素,只能每次查找元素时从链表的头节点或尾节点开始遍历,增加了查询数据的消耗。

分类:

单向链表:只保存了下一个节点地址值的链表。

在这里插入图片描述

双向链表:不光保存了下一个节点的地址值,还保存了上一个节点的。

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

今天的文章只介绍了链表数据结构相关的理论知识,后面我会专门写几篇通过代码实现链表的文章。

看都看完了,点个赞再走呗!最近更新不稳定,希望大家多多谅解!如果文章哪里写的有问题的希望大家可以指出来,我会及时更正!

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/first_M/article/details/106250119
今日推荐