From 090becd595040069505e110a7bb7cfd179f59ec6 Mon Sep 17 00:00:00 2001 From: TedLau Date: Mon, 22 Apr 2024 10:27:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9LinkedList=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=85=83=E7=B4=A0=E9=83=A8=E5=88=86=E8=A1=A8=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 删除时,“遍历”应该要比“移动”更加合适一点。 --- docs/java/collection/java-collection-questions-01.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/java/collection/java-collection-questions-01.md b/docs/java/collection/java-collection-questions-01.md index ed203092..5c22e96a 100644 --- a/docs/java/collection/java-collection-questions-01.md +++ b/docs/java/collection/java-collection-questions-01.md @@ -190,7 +190,7 @@ System.out.println(listOfStrings); - 头部插入/删除:只需要修改头结点的指针即可完成插入/删除操作,因此时间复杂度为 O(1)。 - 尾部插入/删除:只需要修改尾结点的指针即可完成插入/删除操作,因此时间复杂度为 O(1)。 -- 指定位置插入/删除:需要先移动到指定位置,再修改指定节点的指针完成插入/删除,因此需要移动平均 n/2 个元素,时间复杂度为 O(n)。 +- 指定位置插入/删除:需要先移动到指定位置,再修改指定节点的指针完成插入/删除,因此需要遍历平均 n/2 个元素,时间复杂度为 O(n)。 这里简单列举一个例子:假如我们要删除节点 9 的话,需要先遍历链表找到该节点。然后,再执行相应节点指针指向的更改,具体的源码可以参考:[LinkedList 源码分析](./linkedlist-source-code.md) 。