我可以使用什么算法来构建调查?

时间:2012-10-25 20:56:19

标签: algorithm

我想了解用于构建调查的算法,数据结构,可以根据以前的答案跳过问题。关键要求是算法必须允许问题节点可以有多个条目(如下所述,问题5可以从问题1或问题3跳转到)。此外,此算法应允许插入另一个问题(在3和4之间插入新问题)

例如

  1. 你是男性吗? (如果是,请跳至5)。
  2. 你多大了?
  3. 你有......的历史吗? (如果是,请跳至5)。
  4. 你住在附近吗??
  5. 你体验过吗??
  6. ...

2 个答案:

答案 0 :(得分:3)

你想要的是一张图。每个图形边缘都有一个遍历条件。

答案 1 :(得分:0)

你需要一个树状的结构。下面是描述此树中任意节点的简单类:

class Question {
   String questionText;
   List<String> possibleAnswers;
   int answer;
   List<Question> childQuestions;
}

一开始,您会向用户显示questionText并显示可能的答案列表。当用户选择答案时,您将结果保留在answer变量中。然后,根据此变量,您可以从childQuestions列表中选择下一个问题。

此解决方案的一个限制:您必须静态定义此树。