代码拉取完成,页面将自动刷新
package week6;
import java.io.*;
import java.util.*;
public class DecisionTree
{
private LinkedBinaryTree<String> tree;
public DecisionTree(String filename) throws FileNotFoundException
{
File inputFile = new File(filename);
Scanner scan = new Scanner(inputFile);
int numberNodes = scan.nextInt();
scan.nextLine();
int root = 0, left, right;
List<LinkedBinaryTree<String>> nodes = new java.util.ArrayList<LinkedBinaryTree<String>>();
for (int i = 0; i < numberNodes; i++)
nodes.add(i,new LinkedBinaryTree<String>(scan.nextLine()));
while (scan.hasNext())
{
root = scan.nextInt();
left = scan.nextInt();
right = scan.nextInt();
scan.nextLine();
nodes.set(root, new LinkedBinaryTree<String>((nodes.get(root)).getRootElement(),
nodes.get(left), nodes.get(right)));
}
tree = nodes.get(root);
}
/**
* Follows the decision tree based on user responses.
*/
public void evaluate()
{
LinkedBinaryTree<String> current = tree;
Scanner scan = new Scanner(System.in);
while (current.size() > 1)
{
System.out.println (current.getRootElement());
if (scan.nextLine().equalsIgnoreCase("N"))
current = current.getLeft();
else
current = current.getRight();
}
System.out.println (current.getRootElement());
}
private static int count = 0;
public int CountLeaf ()
{
count = 0;
CountLeaf(tree);
return count;
}
private void CountLeaf(LinkedBinaryTree<String> tree)
{
if (!(tree == null))
{
if ((tree.getLeft() == null) && (tree.getRight() == null))
{
count++;
}
CountLeaf(tree.getLeft());
CountLeaf(tree.getRight());
}
}
public int hight()
{
int a = tree.getHeight();
return a;
}
public void leveltoString()
{
tree.LevelOrderToString();
}
public void leveltoString2()
{
tree.LevelOrderToString2();
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。