我需要为GRE这样的考试设计一个在线考试服务器。在GRE考试中,如果你的答案正确,那么问题的难度就会增加,如果你答错了,就会减少。
试题是选择题,难度大小是1-10,1是最简单的,10是最难的。如果两个连续的问题回答错了,那么将难度降低1,如果两个问题回答正确,则增加1。测试以难度级别为4的问题开始。问题的标记与难度相等。
我的问题是:我应该使用哪种数据结构来存储这些问题?根据问题的难度等,哪一种算法是提取问题的最佳算法?
我目前正在考虑一份双重链接的清单:
struct node {
int data;
node *prev;
node *next;
int n
int MAX;
};这里,我们需要储存。一个是MAX (实际大小),n是随机大小,可以从n- MAX中选择我们已经为每个双链接列表选择的问题,您可以为每个双链接列表添加额外的int数据,您可以在其中存储prev链接、下一个链接、指向数组的指针、int Maxdata(最大值)、int n(当前大小)。
每个节点都是指向每个级别的问题数组的指针。如果答案是正确的,它将移动下一个节点并从该列表中选择随机问题,否则它将移动到前一个节点并选择一个问题。
例如,假设一个数组有10个问题1-10。
有什么更好的方法吗?
发布于 2013-12-27 17:16:31
用于您的问题的数据库表可能如下所示:
QuestionID PK
Question Text
Difficulty Int在另一个表格中记录已经问过和回答过的问题:
StudentID FK
TestID FK
QuestionID FK
AnswerID FK (assumes multiple choice)问题的可能答案(多项选择):
AnswerID PK
QuestionID FK
Answer Text
IsTheCorrectAnswer booleanhttps://softwareengineering.stackexchange.com/questions/222465
复制相似问题