数据结构与算法(3)——链表

简介: 链表以及python中链表相关操作

链表

存储元素和下一个元素的指针,最后一个元素为Null

单端链表(常用),双端链表

类型 时间复杂度
访问 O(N)
搜索 O(N)
插入 O(1)
删除 O(1)
链表特点:写很快读很慢,读少写多

链表结构->力扣给出来了->val和next

链表常用操作:创建链表、添加元素、访问元素、查找元素、删除元素、链表的长度

力扣203、206

python链表常用操作

#1.创建链表
linkedlist=deque()

#2.添加元素 时间复杂度:O(1)
linkedlist.append(1)
linkedlist.append(2)

#3.插入元素 O(N)
linkedlist.insert(2,99)

#4.访问元素 O(N)
element=linkedlist[2]

#5.搜索元素 O(N) 返回遍历索引
index=linkedlist.index(99)

#6.更新元素 O(N)
linkedlist[2]=88

#7.删除元素 O(N)
linkedlist.remove(88) #移除元素非索引
#删除索引对应的数
del linkedlist[2]

#8.长度 O(1)
length=len(linkedlist)
相关文章
|
10天前
|
算法
【❤️算法笔记❤️】-每日一刷-19、删除链表的倒数第 N个结点
【❤️算法笔记❤️】-每日一刷-19、删除链表的倒数第 N个结点
39 1
|
10天前
|
算法 索引
❤️算法笔记❤️-(每日一刷-141、环形链表)
❤️算法笔记❤️-(每日一刷-141、环形链表)
23 0
|
10天前
|
算法
【❤️算法笔记❤️】-(每日一刷-876、单链表的中点)
【❤️算法笔记❤️】-(每日一刷-876、单链表的中点)
32 0
|
10天前
|
算法
【❤️算法笔记❤️】-每日一刷-23、合并 K 个升序链表
【❤️算法笔记❤️】-每日一刷-23、合并 K 个升序链表
25 0
|
10天前
|
存储 算法
【❤️算法笔记❤️】-每日一刷-21、合并两个有序链表
【❤️算法笔记❤️】-每日一刷-21、合并两个有序链表
37 0
|
10天前
|
存储 缓存 算法
经典算法之链表篇(三)
经典算法之链表篇(三)
|
10天前
|
算法
经典算法之链表篇(二)
经典算法之链表篇(二)
|
10天前
|
算法 索引
经典算法之链表篇
经典算法之链表篇
|
10天前
|
算法
❤️算法笔记❤️-(每日一刷-160、相交链表)
❤️算法笔记❤️-(每日一刷-160、相交链表)
12 1
|
11天前
|
算法 Java
数据结构与算法学习五:双链表的增、删、改、查
双链表的增、删、改、查操作及其Java实现,并通过实例演示了双向链表的优势和应用。
10 0
数据结构与算法学习五:双链表的增、删、改、查