数据结构2:链表

Posted neverland0718

tags:

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

首先来说一个问题,线性表和链表的区别。

线性表是n个数据元素的有限序列,复杂的线性表中,数据元素可以有若干个数据项构成一个记录。线性表可以有两种表示方式,顺序表示和链式表示。线性表的顺序表示是用一组连续的内存存储线性表的数据元素。而线性表的链式表示是用随机的存储单元来存储线性表的元素,这种线性表就是链表。链表的结点包含两个域,存储数据元素信息的数据域和存储直接后继存储位置的指针域。顺序表示和链式表示各有优点,他们的区别类似于模板库里的vector和list。顺序表示可以顺序存储,因此它可以轻松的访问第i个数据元素和求出表的长度,但是插入和删除却很麻烦,因为除了结尾其余位置的插入和删除都必须移动一部分元素。插入和删除的时间复杂度是O(n)。而链表由于其随机存储的结构,可以方便的插入和删除,但是求链表的长度,就必须遍历整个链表。链表只存储头结点的信息,这个链表占用的空间不需要预先分配划定,可以根据需求随时生成,因此链表是一种动态结构。

以上是关于数据结构2:链表的主要内容,如果未能解决你的问题,请参考以下文章

❤ C语言--链表----数据结构 ❤

Python数据结构与算法(2.6)——块状链表

Python数据结构与算法(2.4)——双向链表

❤️数据结构入门❤️(1 - 3)- 链表

数据结构之链表2

数据结构——链表的基本操作