_Anna_ 2021-03-11 10:47 采纳率: 50%
浏览 65
已采纳

如何实现按知识点随机抽题组卷?

1、一道题有可能有多个知识点

2、按不同的知识点抽题组卷,要求去重,即同一道题有两个知识点的话,不能在一套试卷里出现两次

 

例如:题号有 1,2,3,4,5,6  知识点A包含1,2,3,4  四道题,知识点B包含3,4,5,6四道题,现在要在知识点A下抽取2道题,知识点B下抽取3道题,算法如何实现?题量有100道题,知识点有6个的时候,六个知识点中一共抽取45道题,运算量级如何?

 

谢谢作答。

  • 写回答

4条回答 默认 最新

  • 关注

    你看下这个方案能否满足你的需求:

    1. 将题目整理成Key:Value键值对(questionMap),key:某个知识点 value:包含某个知识点的题目集合

    2. 遍历需要抽取的知识点(k1),和知识点对应的题目个数,从 questionMap 中按照获取k1对应的所有题目(如果题目太多可以先获取一部分),将获取的题目放入去重集合中(resultSet),resultSet 内部具有去重功能,计算成功放入的个数 k1Count,直到 k1Count 等于知识点(k1)要求的题目个数

    3. 遍历完所有的知识点之后,resultSet 就是你需要的问卷了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥60 pb数据库修改或者求完整pb库存系统,需为pb自带数据库
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路