Professional Documents
Culture Documents
Import Java
Import Java
*;
import java.util.*;
class DecisionTree
/* CONSTRUCTOR */
nodeID = newNodeID;
questOrAns = newQuestAns;
/* OTHER FIELDS */
//BufferedReader(new InputStreamReader(System.in));
BinTree rootNode = null;
public DecisionTree() { }
if (rootNode == null)
return;
// Search tree
if (searchTreeAndAddYesNode(rootNode,existingNodeID,newNodeID,newQuestAns))
{
//System.out.println("Added node " + newNodeID +
if (currentNode.nodeID == existingNodeID)
// Found node
BinTree(newNodeID,newQuestAns);
else
//existingNodeID);
return(true);
else
if (searchTreeAndAddYesNode(currentNode.yesBranch,
existingNodeID,newNodeID,newQuestAns))
return(true);
else
if (currentNode.noBranch != null)
return(searchTreeAndAddYesNode(currentNode.noBranch,
existingNodeID,newNodeID,newQuestAns));
/* ADD NO NODE */
if (rootNode == null)
{
//System.out.println("ERROR: No root node!");
return;
// Search tree
if (searchTreeAndAddNoNode(rootNode,existingNodeID,newNodeID,newQuestAns))
if (currentNode.nodeID == existingNodeID)
// Found node
if (currentNode.noBranch == null)
else {
//existingNodeID);
currentNode.noBranch = new BinTree(newNodeID,newQuestAns);
return(true);
else
if (currentNode.yesBranch != null)
if (searchTreeAndAddNoNode(currentNode.yesBranch,
existingNodeID,newNodeID,newQuestAns))
return(true);
else
if (currentNode.noBranch != null)
return(searchTreeAndAddNoNode(currentNode.noBranch,
existingNodeID,newNodeID,newQuestAns));
outputBinTree("1",rootNode);
// Output
outputBinTree(tag + ".1",currentNode.yesBranch);
// Go down no branch
outputBinTree(tag + ".2",currentNode.noBranch);
class fdtree
//BufferedReader(new InputStreamReader(System.in));
/* MAIN */
// Generate tree
// Vector a=obj.getnodes();
generateTree(a);
// Output tree
System.out.println("\nOUTPUT DECISION TREE");
System.out.println("====================");
newTree.outputBinTree();
// Query tree
// queryTree();
/* GENERATE TREE */
System.out.println("======================");
newTree.createRoot(1,(String)a.elementAt(0));
newTree.addYesNode(1,2,(String)a.elementAt(1));
newTree.addNoNode(1,3,(String)a.elementAt(2));
newTree.addYesNode(2,4,(String)a.elementAt(3));
newTree.addNoNode(2,5,(String)a.elementAt(4));
newTree.addYesNode(3,6,(String)a.elementAt(5));
newTree.addNoNode(3,7,(String)a.elementAt(6));