B2.4 · HL Python

编程算法:阅读与复习

将每个主题与教材、课程及一道可独立解答的问题联系起来。

截至 9 月 17 日的课堂进度:已学习线性搜索与大 O 表示法;接下来学习二分搜索,之后学习排序与 HL 递归。可用这些问题进行复习。

探索动画 → 下载学生复习资料 →(英文文件) 返回 B2.4 →

本单元学习范围

以下页码为教材印刷页码,并非 PDF 阅读器中的页码。复习资料包含例题、原创问题 R1–R4,以及供完成后核对的答案。

IB 目标教材展示理解课堂进度
B2.4.1
效率与可扩展性
第 358–361 页解释时间与辅助空间,描述增长趋势,并论证算法选择。

复习:R1

已学习大 O 课程 · 正在复习

打开课程 →

B2.4.2
线性搜索与二分搜索
第 361–365 页构建并跟踪两种搜索,测试目标不存在及列表边界的情况。

复习:R2

已学习线性搜索 · 下一步学习二分搜索

打开课程 →

B2.4.3
冒泡排序与选择排序
第 365–369 页构建并跟踪两种排序,再比较指定实现的时间与额外内存。

复习:R3

已规划

打开课程 →

B2.4.4 · HL
递归及其应用
第 370–371 页;应用见第 373–377 页解释基本情况、递进过程、栈内存,以及快速排序、分形和树遍历等应用。

复习:R4

已规划 · 授课日期待定

打开课程 →

B2.4.5 · HL
构建与跟踪递归
第 371–377 页 · 选定示例编写并跟踪简单的非分支递归函数。指南将此处的构建与跟踪要求限定在这一范围。

复习:R4

已规划 · 授课日期待定

打开课程 →

仔细阅读这些示例

二分搜索:第 364 页

对于书中采用闭区间的循环,应初始化 upper = len(numbers) - 1。包含七个元素的列表,其索引为 0 到 6;索引 7 已越界。除了成功搜索,还要测试大于末尾元素且不存在的目标。

HL 递归

理解快速排序、分形和树遍历如何使用递归。针对 B2.4.5 的构建与跟踪,练习简单的非分支函数,每次函数激活最多产生一次递归调用。

练习解释你的答案

  1. 阅读学习目标及对应教材章节。
  2. 理解例题,再在纸上尝试对应的复习题。
  3. 核对答案,找出遗漏的具体步骤或概念。
  4. 换一组数据重做,并解释答案为什么成立。

原创课堂练习用分值提示答案应包含的内容。IB 常见问题说明,大 O 评估要求描述增长趋势,无需正式计算;试卷 2 不要求使用伪代码。原始得分不会自动对应 IB 的 1 至 7 等级。