B.4 抽象数据类型 · HL
实现栈与队列
分离抽象接口与表示方法,并处理空或满状态。
示例使用 Python。HL 路径包含 SL 之外的额外课程。
先定义行为,再选择存储
栈先移除最近加入的元素,队列先移除最早加入的元素。这些规则定义可观察行为,而不是某一种数组或链式表示。调用者通过操作使用结构,无需依赖值存放的位置。
有界数组栈可以使用栈顶索引。入栈先检查容量,再增加索引;出栈先检查是否为空,再读取。应明确失败时如何通知调用者,避免返回与正常数据无法区分的值。
追踪循环队列
循环队列通过首尾索引回绕复用空间。容量为 4 时,可用 (index + 1) % 4 推进索引。记录元素个数能在索引相同时区分空与满。
依次执行入队 A、入队 B、出队、入队 C,队列移除 A,并让 B 位于 C 前。栈执行对应入栈与出栈操作时则移除 B。应根据顺序要求选择数据类型。
自我检测
哪种结构自然表示按到达顺序等待的任务?查看答案
队列,因为它遵循先进先出。
编写这些课程时使用的参考资料
我们在编写本课程时参考了这些官方文件,用以确定考纲结构和课程要求。
International Baccalaureate · 2027 年首次评估
此 PDF 为 IB 公开学科简介。完整学科指南与评估要求可通过学校或 IB 课程资源中心获取。