考试结构
基本信息
| 项目 | 内容 |
|---|---|
| 时长 | 2 小时 30 分钟 |
| 满分 | 75 |
| 题量 | 3 道大题 |
| 编程语言 | Python (console mode) |
| 答题方式 | 上机编程,保存程序 + evidence document |
| 计算器 | 禁止使用 |
| 数据文件 | 部分题目附带 .txt 文件 |
分值分布
按知识点
| 知识点 | 分值范围 | 常见题型 |
|---|---|---|
| 数组/2D 数组声明和操作 | 1-5 | 声明、初始化、遍历、填充、2D 按列排序 |
| 排序(冒泡/插入) | 4-6 | 写排序函数、调用、测试 |
| 查找(线性/二分) | 4-6 | 写查找函数(迭代或递归) |
| 线性队列 | 4-8 | enqueue/dequeue 实现 |
| 循环队列 | 6-8 | 带 NumberItems 和 MOD 的 enqueue/dequeue |
| 栈 | 4-8 | push/pop 实现 |
| 栈计算 | 7 | 从栈取值做数学运算 |
| 链表 | 7-10 | 遍历、插入节点 |
| 二叉树 OOP | 7-12 | Node + TreeClass,插入和输出 |
| 二叉树 2D 数组 | 8-12 | 2D 数组存储,插入 + 遍历 |
| 中序递归遍历 | 5-7 | 递归遍历二叉树 |
| 哈希表 | 6-10 | MOD 散列、碰撞处理 |
| OOP 类定义 | 4-7 | 类、构造器、getter/setter |
| OOP 继承 | 4-8 | 子类、super()、重写方法 |
| 文件处理 | 4-8 | 打开/读取、try/except |
| 输入/数据验证 | 2-6 | 范围检查、check digit |
| 递归 | 5-7 | 写递归函数、转换迭代/递归 |
| 字符串处理 | 4-6 | MID、字符比较、排序 |
常见失分原因
- 未声明 global 导致无法修改全局变量
- 数组越界(off-by-one)
- 队列/栈空/满边界条件未处理
- 递归缺少 base case
- OOP 忘记 self、super()
- 文件未用 try/except
- 二分查找未预先排序
- 哈希表碰撞未处理
- 循环队列指针 wrap-around 错误
- 忘记截图/截图未保存到 evidence