唯一支持算法与数据结构类课程教学的系统
全方位支持算法与数据结构教学
数据结构与算法类课程不仅仅关注程序的正确性,更重要的是算法的时空复杂度。
- 算法可视化
- 让学生直观理解算法思想。
- 代码自动评判
- 考核基本知识点和解决问题的能力。
- 大数据性能评判
- 自动度量程序时间复杂度,并通过实际问题(项目)真正体验数据结构和算法的魅力。
- 代码查重
- 督促学生独立完成练习。
算法与数据结构交互可视化
以交互可视化的形式动态展示算法的执行过程,使学生更容易理解算法思想,激发学习兴趣。
支持栈、队列、堆和递归、索引、排序、图论、动态规划等共45种教学中常见数据结构和算法的交互可视化。
综合项目案例
支持性能参与评分。性能得分会以排行榜的形式展现,促进学生持续优化算法和数据结构。优化过程中体验算法魅力,理解理论与实践的相互作用。
支持超大测试数据用例,性能在大数据下才有区分度。
可以作为项目题,贯穿教学过程,让学生用算法思维,综合考虑时间复杂度和空间复杂度去寻找最优的方案来解决问题。
项目 | 内容 | 数据量 |
---|---|---|
词频统计 | 统计一个英文文本文件中每个单词的出现次数 | 哈利波特小说全集,100万单词 |
拼写检查 | 依据所提供的英文字典,编写程序对一个英文文本文件中英文单词进行拼写检查 | 93万单词 |
随机文本生成器 | 基于马尔可夫链(Markov Chain)算法,根据现有的某种语言的文本(如一本英文小说),生成类似写作风格的文章 | 110万单词 |
小型图书管理系统 | 用C/C++开发一个小型图书管理系统,具备录入、查找、删除功能 | 图书信息条目100万 |
注:此类项目题也可以用于体系结构课程,利用cache、指令多级流水、分支预测等优化程序,深入理解CPU的微架构,参考《深入理解计算机系统》。
代码性能剖析
自动剖析和统计每一行代码在评测服务器CPU上实际执行次数。
高质量的题库
北京航空航天大学计算机学院历经10余年沉淀下来的高质量题库,覆盖所有知识点和难易度,并附带代码样例。
利用编程题直接考察算法与数据结构知识点。