链表的基础操作

· · 个人记录

一、链表的特点

1.在内存中,元素的空间可以在任意地方,空间是分散的,不需要连续。

2.链表中的元素都会两个属性,一个是元素的值,另一个是指针,此指针标记了下一个元素的地址。每一个数据都会保存下一个数据的内存的地址,通过此地址可以找到下一个数据。

3.查找数据时效率低,时间复杂度为O(N)

因为链表的空间是分散的,所以不具有随机访问性,如要需要访问某个位置的数据,需要从第一个数据开始找起,依次往后遍历,直到找到待查询的位置,故可能在查找某个元素时,时间复杂度达到O(N)

4.空间不需要提前指定大小,是动态申请的,根据需求动态的申请和删除内存空间,扩展方便,故空间的利用率较高。

5.任意位置插入元素和删除元素效率较高,时间复杂度为O(1)。

二、单项链表的基本操作

三、双向链表的操作