mirror of
https://github.com/krahets/hello-algo.git
synced 2026-07-26 04:56:06 +00:00
build
This commit is contained in:
@@ -190,7 +190,7 @@ comments: true
|
||||
|
||||
## 4.2.1 链表常用操作
|
||||
|
||||
### 初始化链表
|
||||
### 1. 初始化链表
|
||||
|
||||
建立链表分为两步,第一步是初始化各个节点对象,第二步是构建引用指向关系。初始化完成后,我们就可以从链表的头节点出发,通过引用指向 `next` 依次访问所有节点。
|
||||
|
||||
@@ -401,7 +401,7 @@ comments: true
|
||||
|
||||
数组整体是一个变量,比如数组 `nums` 包含元素 `nums[0]` , `nums[1]` 等,而链表是由多个独立的节点对象组成的。**我们通常将头节点当作链表的代称**,比如以上代码中的链表可被记做链表 `n0` 。
|
||||
|
||||
### 插入节点
|
||||
### 2. 插入节点
|
||||
|
||||
**在链表中插入节点非常容易**。假设我们想在相邻的两个节点 `n0` , `n1` 之间插入一个新节点 `P` ,则只需要改变两个节点引用(指针)即可,时间复杂度为 $O(1)$ 。
|
||||
|
||||
@@ -543,7 +543,7 @@ comments: true
|
||||
}
|
||||
```
|
||||
|
||||
### 删除节点
|
||||
### 3. 删除节点
|
||||
|
||||
在链表中删除节点也非常简便,只需改变一个节点的引用(指针)即可。
|
||||
|
||||
@@ -728,7 +728,7 @@ comments: true
|
||||
}
|
||||
```
|
||||
|
||||
### 访问节点
|
||||
### 4. 访问节点
|
||||
|
||||
**在链表访问节点的效率较低**。如上节所述,我们可以在 $O(1)$ 时间下访问数组中的任意元素。链表则不然,程序需要从头节点出发,逐个向后遍历,直至找到目标节点。也就是说,访问链表的第 $i$ 个节点需要循环 $i - 1$ 轮,时间复杂度为 $O(n)$ 。
|
||||
|
||||
@@ -901,7 +901,7 @@ comments: true
|
||||
}
|
||||
```
|
||||
|
||||
### 查找节点
|
||||
### 5. 查找节点
|
||||
|
||||
遍历链表,查找链表内值为 `target` 的节点,输出节点在链表中的索引。此过程也属于「线性查找」。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user