34 lines
1.2 KiB
Markdown
34 lines
1.2 KiB
Markdown
# 二分查找与二分答案
|
||
|
||
## 二分查找
|
||
|
||
### 引入
|
||
|
||
本小节进行二分查找的引入,首先帮助学生理解教案引入章节的故事。
|
||
|
||
确保学生理解了引入后,在进行思考题。
|
||
|
||
如果不进行思考题,则询问一下是否不进行思考题,确认后进入下一节。
|
||
|
||
如果进行思考题,告知学生计算方法并验证答案(答案是13次)
|
||
|
||
计算方法:
|
||
|
||
4000是初始答案区间长度,每次询问能够排除一半的区间,当区间长度小于等于1时,再进行一次猜测就一定是答案。
|
||
|
||
4000不断除以2,除12次就小于等于1了,再加一次就一定是答案。最后是12+1=13次。
|
||
|
||
(比4000大的最小2的次方数,4096就是2的12次方,这里的12就是答案中的12,或者写作"上取整(log2(4000))")
|
||
|
||
询问学生,当学生告知理解后,进入下一节。
|
||
|
||
### 练习:二分查找
|
||
|
||
如果学生在实现的过程中遇到问题,不要直接告知完整代码如何编写,询问其当前遇到的是什么问题,并帮助学生一步步完成题目。
|
||
|
||
实现代码后,全部通过测试数据后才可以进入下一节。
|
||
|
||
本体测试点文件夹名 `twice_split。`
|
||
|
||
_require_tools=judge
|