链表操作

Posted xuqiushuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链表操作相关的知识,希望对你有一定的参考价值。

链表和数组作为算法中的两个基本数据结构,两种结构都可以用来存储一系列的数据,但又各有各的特点。

数组的优势,在于可以方便的遍历查找需要的数据。在查询数组指定位置(如查询数组中的第4个数据)的操作中,只需要进行1次操作即可,时间复杂度为O(1)。但是,这种时间上的便利性,是因为数组在内存中占用了连续的空间,在进行类似的查找或者遍历时,本质是指针在内存中的定向偏移。然而,当需要对数组成员进行添加和删除的操作时,数组内完成这类操作的时间复杂度则变成了O(n)。

链表的特性,使其在某些操作上比数组更加高效。例如当进行插入和删除操作时,链表操作的时间复杂度仅为O(1)。另外,因为链表在内存中不是连续存储的,所以可以充分利用内存中的碎片空间。除此之外,链表还是很多算法的基础,最常见的哈希表就是基于链表来实现的。基于以上原因,我们可以看到,链表在程序设计过程中是非常重要的。

最近公司数据核心部分代码在进行重构,我代表无线组参与了此次重构任务,平时写的业务代码居多,正好借着次机会,摆脱封装的束缚,深入学习一下数据结构部分。

我司代码框架是在Broadcom基础上衍生过来的,这几年一直迭代,越来越臃肿,尤其是数据操作部分,最近架构师决定带领大家进行重构优化。

以上是关于链表操作的主要内容,如果未能解决你的问题,请参考以下文章

链表的基础操作专题小归纳

一文讲透链表操作,看完你也能轻松写出正确的链表代码

链表及其各种函数操作的实现方法

Python面试常考点之深入浅出链表操作

一文讲透链表操作,看完你也能轻松写出正确的链表代码

一文讲透链表操作,看完你也能轻松写出正确的链表代码