This commit is contained in:
krahets
2023-04-10 03:12:02 +08:00
parent 2289822dfd
commit 867ecf6d92
32 changed files with 329 additions and 445 deletions
+8 -8
View File
@@ -4,11 +4,11 @@ comments: true
# 10.1.   线性查找
「线性查找 Linear Search」是一种最基础的查找方法,其从数据结构的一端开始,依次访问每个元素,直另一端后停止。
「线性查找 Linear Search」是一种简单的查找方法,其从数据结构的一端开始,逐个访问每个元素,直另一端止。
## 10.1.1.   算法实现
线性查找实质上就是遍历数据结构 + 判断条件。比如,我们想要在数组 `nums` 中查找目标元素 `target` 的对应索引,那么可以在数组中进行线性查找。
如,我们想要在数组 `nums` 中查找目标元素 `target` 的对应索引,可以采用线性查找方法
![在数组中线性查找元素](linear_search.assets/linear_search.png)
@@ -167,7 +167,7 @@ comments: true
}
```
再比如,我们想要在给定一个目标节点值 `target` 返回节点对象,也可以在链表中进行线性查找。
另一个例子,若需要在链表中查找给定目标节点值 `target` 返回节点对象,同样可以使用线性查找。
=== "Java"
@@ -332,12 +332,12 @@ comments: true
## 10.1.2.   复杂度分析
**时间复杂度 $O(n)$** :其中 $n$ 数组或链表长度。
**时间复杂度 $O(n)$** :其中 $n$ 代表数组或链表长度。
**空间复杂度 $O(1)$** :无需使用额外空间。
**空间复杂度 $O(1)$** :无需借助额外的存储空间。
## 10.1.3.   优点与缺点
## 10.1.3.   优点与局限性
**线性查找的通用性极佳**。由于线性查找是依次访问元素的,没有跳跃访问元素,因此数组链表皆适用
**线性查找具有极佳的通用性**。由于线性查找是逐个访问元素的,没有跳跃访问,因此适用于数组链表的查找
**线性查找的时间复杂度**数据量 $n$ 大时,查找效率低。
**线性查找的时间复杂度**数据量 $n$ 大时,线性查找效率低。