我想了解用于构建调查的算法,数据结构,可以根据以前的答案跳过问题。关键要求是算法必须允许问题节点可以有多个条目(如下所述,问题5可以从问题1或问题3跳转到)。此外,此算法应允许插入另一个问题(在3和4之间插入新问题)
例如
答案 0 :(得分:3)
你想要的是一张图。每个图形边缘都有一个遍历条件。
答案 1 :(得分:0)
你需要一个树状的结构。下面是描述此树中任意节点的简单类:
class Question {
String questionText;
List<String> possibleAnswers;
int answer;
List<Question> childQuestions;
}
一开始,您会向用户显示questionText
并显示可能的答案列表。当用户选择答案时,您将结果保留在answer
变量中。然后,根据此变量,您可以从childQuestions
列表中选择下一个问题。
此解决方案的一个限制:您必须静态定义此树。