我正在尝试在创建之前从文件中读取决策树。我有一个包含3个变量Node(message,yesNode,noNode)的节点类。消息代表要问的问题或答案。如果答案为是,则yesNode代表到下一个节点的链接,如果答案为否,则noNode代表到下一个节点的链接。我试图阅读的文件示例如下:
Are you a mammal?
Are you bigger than a cat?
does it have tusks
elephant
#
#
Kangaroo
#
#
Mouse
#
#
Do you live underwater?
Trout
#
#
Robin
#
#
文件存储在preOrder遍历中,#stand表示空值。我无法理解我应该如何尝试实施这一点,任何建议?
答案 0 :(得分:0)
有几种方法可以做到这一点,这是一种伪java方式:
尝试类似:
class Node {
String message;
Node yes;
Node no;
}
Reader myFile = new FileReader("datafile.txt"); // reads your file
Node myTree = parseNode(); // will point to the root of your tree
// This recursive function traverses (and builds) your tree.
Node parseNode() {
Node newNode;
String input = myFile.readline();
if (input.equals("#)) {
return null;
} else {
newNode.message = input;
newNode.yes = parseNode();
newNode.no = parseNode();
}
(伪java我的意思是它[主要]是Java语法,但它不会按原样编译,而是为了显示一般的想法。)