IB Computer Science HL

B.4 抽象数据类型 · HL

实现栈与队列

分离抽象接口与表示方法,并处理空或满状态。

示例使用 Python。HL 路径包含 SL 之外的额外课程。

先定义行为,再选择存储

栈先移除最近加入的元素,队列先移除最早加入的元素。这些规则定义可观察行为,而不是某一种数组或链式表示。调用者通过操作使用结构,无需依赖值存放的位置。

有界数组栈可以使用栈顶索引。入栈先检查容量,再增加索引;出栈先检查是否为空,再读取。应明确失败时如何通知调用者,避免返回与正常数据无法区分的值。

追踪循环队列

循环队列通过首尾索引回绕复用空间。容量为 4 时,可用 (index + 1) % 4 推进索引。记录元素个数能在索引相同时区分空与满。

依次执行入队 A、入队 B、出队、入队 C,队列移除 A,并让 B 位于 C 前。栈执行对应入栈与出栈操作时则移除 B。应根据顺序要求选择数据类型。

自我检测

哪种结构自然表示按到达顺序等待的任务?查看答案

队列,因为它遵循先进先出。

编写这些课程时使用的参考资料

我们在编写本课程时参考了这些官方文件,用以确定考纲结构和课程要求。

International Baccalaureate · 2027 年首次评估

此 PDF 为 IB 公开学科简介。完整学科指南与评估要求可通过学校或 IB 课程资源中心获取。