NJ Driver Quiz - 刷题算法系统

Advanced Learning Algorithm Documentation

系统架构 System Architecture

┌─────────────────────────────────────────────────┐
│                  用户界面 (UI)                    │
├─────────────────────────────────────────────────┤
│                Store (Zustand)                   │
├─────────────────────────────────────────────────┤
│              CachedQuizEngine                    │
│  ┌──────────────────┬─────────────────────┐    │
│  │   Cache Window   │   Sorting Window     │    │
│  │   (10 questions) │   (remaining)        │    │
│  └──────────────────┴─────────────────────┘    │
├─────────────────────────────────────────────────┤
│                 QuizEngine                       │
├─────────────────────────────────────────────────┤
│         Storage Layer (Supabase/IndexedDB)       │
└─────────────────────────────────────────────────┘

学习模式 Learning Modes

智能模式 (Smart Mode)

多级优先级队列 + 艾宾浩斯遗忘曲线

  • 到期错题最高优先级
  • 易错题重点突破
  • 新题优先学习
  • 双窗口缓存机制

普通模式 (Normal Mode)

按题目ID顺序学习

  • 系统性学习
  • 出现3次标记掌握
  • 适合初学者
  • 进度清晰可见

错题模式 (Mistakes Mode)

加权随机复习错题

  • 错误次数决定权重
  • 避免连续重复
  • 需要7次出现才掌握
  • 重点突破薄弱环节

相似题模式 (Similar Mode)

聚焦相关题目学习

  • 相似题目分组
  • 强化知识点
  • 未来支持向量搜索
  • 提高学习效率

智能模式优先级系统 Smart Mode Priority System

PriorityTypeWeightCondition
1到期的错题⭐⭐⭐⭐⭐nextReview <= now && incorrectCount > 0
2易错题未掌握⭐⭐⭐⭐isErrorProne && !mastered
3新题目⭐⭐⭐appearances === 0
4学习中⭐⭐appearances < 3 && incorrectCount === 0
5按时间排序lastSeen ASC

艾宾浩斯遗忘曲线 Ebbinghaus Forgetting Curve

错题复习间隔根据错误次数递增,确保在最佳时机复习:

1分钟
1次错误
5分钟
2次错误
10分钟
3次错误
30分钟
4次错误
1小时
5次错误
2小时
6次错误
6小时
7+次错误

性能指标 Performance Metrics

取题延迟

< 1ms

从缓存获取 O(1)

排序延迟

< 50ms

异步后台执行

缓存命中率

99.98%

双窗口缓存机制

掌握标准 Mastery Standards

普通题目

  • • 出现次数 ≥ 3次
  • • 无错误记录
  • • 标记为 "mastered"

错题

  • • 出现次数 ≥ 7次
  • • 连续正确 ≥ 3次
  • • 更严格的掌握要求

数据流程 Data Flow

1

用户答题

提交答案触发 recordAnswer()

2

更新进度

内存 Map + IndexedDB + Supabase

3

重新排序

异步更新优先级队列

4

获取下一题

从缓存窗口 O(1) 获取

Ready to Experience Smart Learning?

基于科学的学习算法,让你用最短时间通过考试

Start Smart Practice
Support this project ☕
Buy me a coffee