Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
think-comp-2e-zh
提交
5e0189fb
T
think-comp-2e-zh
项目概览
OpenDocCN
/
think-comp-2e-zh
8 个月 前同步成功
通知
0
Star
16
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
think-comp-2e-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
5e0189fb
编写于
4月 13, 2018
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
a
上级
f80f38a8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
6 addition
and
0 deletion
+6
-0
a.md
a.md
+6
-0
未找到文件。
a.md
浏览文件 @
5e0189fb
...
...
@@ -150,6 +150,12 @@ _搜索_ (search)算法,接受一个集合以及一个目标项,并判断该
如果元素在序列中是排序好的,你可以用 _二分搜素_ (bisection search) ,它的增长级别是
`O(logn)`
。 二分搜索和你在字典中查找一个单词的算法类似(这里是指真正的字典,不是数据结构)。 你不会从头开始并按顺序检查每个项,而是从中间的项开始并检查你要查找的单词在前面还是后面。 如果它出现在前面,那么你搜索序列的前半部分。否则你搜索后一半。如论如何,你将剩余的项数分为一半。
练习 3
编写一个叫做
`bisection`
的函数,它接受有序列表和目标值,并返回列表中值的索引(如果存在的话);如果不存在则返回
`None`
。
或者你可以阅读对分模块的文档并使用它!
如果序列有 1,000,000 项,它将花 20 步找到该单词或判断出其不在序列中。因此它比线性搜索快大概 50,000 倍。
二分搜索比线性搜索快很多,但是它要求已排序的序列,因此使用时需要做额外的工作。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录