mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-24 02:21:30 +08:00
build
This commit is contained in:
@@ -7,6 +7,8 @@ status: new
|
||||
|
||||
我们已经学过,搜索算法分为两大类:暴力搜索、自适应搜索。暴力搜索的时间复杂度为 $O(n)$ 。自适应搜索利用特有的数据组织形式或先验信息,可达到 $O(\log n)$ 甚至 $O(1)$ 的时间复杂度。
|
||||
|
||||
### 基于分治的搜索算法
|
||||
|
||||
实际上,**$O(\log n)$ 的搜索算法通常都是基于分治策略实现的**,例如:
|
||||
|
||||
- 二分查找的每一步都将问题(在数组中搜索目标元素)分解为一个小问题(在数组的一半中搜索目标元素),这个过程一直持续到数组为空或找到目标元素为止。
|
||||
@@ -14,7 +16,7 @@ status: new
|
||||
|
||||
分治之所以能够提升搜索效率,是因为暴力搜索每轮只能排除一个选项,**而基于分治的搜索每轮可以排除一半选项**。
|
||||
|
||||
## 12.2.1. 基于分治实现二分
|
||||
### 基于分治实现二分
|
||||
|
||||
接下来,我们尝试从分治策略的角度分析二分查找的性质:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user