JAVA知识点:
(掌握)数组 和 链表 在不同情景下的 时间复杂度
(掌握)双向链表和单向链表的删除:前提:已经定位到了要删除的某节点B
1、删除时,单向链表 定位到 某个要删除的节点(B) 后,需要重新循环链表,找到它前一个节点(A),将其指针修改为指向B节点的下一个节点(C),B节点因为没有指向关系了,所以就自动脱落了,所以时间复杂度是O(n)
2、删除时,双向链表,因为其是双指向关系,所以定位到B后,不需要再循环链表,只需要,通过前指向关系,将A节点的后指针指向C接口,时间复杂度是O(1)
循环链表:
![](https://img.haomeiwen.com/i18817711/b5ae8a8c5c125f12.png)
双向链表:
![](https://img.haomeiwen.com/i18817711/95ff44034d5273e5.png)
单向链表:
![](https://img.haomeiwen.com/i18817711/7c2f678c3e11ded4.png)
网友评论