链表(英语:Linked List)Wiki
</br>
特点
- 内存上不连续
- 每个节点储存到下个节点的指针
- 随机插入数据快
- 查找数据慢
- 无需知道数据大小,实现灵活的内存动态管理
</br>
api及时间复杂度
Add | Remove | Indexing | |
---|---|---|---|
Beginning | O(1) | O(1) | - |
Middle | O(1) | O(n) | O(n) |
End | O(1) | O(1) | - |
api | 作用 | 时间复杂度 |
---|---|---|
push_front | 增加节点到顶端 | O(1) |
top | 返回顶端节点数据 | O(1) |
pop_front | 删除并返回顶端节点数据 | O(1) |
push_back | 增加节点到尾部 | O(1) |
end | 返回尾部节点数据 | O(1) |
pop_back | 删除并返回尾部节点数据 | O(n) |
find | 查找特定节点 | O(n) |
delete | 删除特定节点 | O(n) |
is_empty | 检查是否为空 | O(1) |
add_before | 在特定节点前插入 | O(n) |
add_after | 在特定节点后插入 | O(1) |
len | 返回链表长度 | O(1) |
</br>
实现
python:
网友评论