• 大小: 14KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: Java
  • 标签: ID3  

资源简介

java实现的ID3决策树算法改良版,可以随意改变数据源(符合格式就行)

资源截图

代码片段和文件信息

package com.wdx.test;

public class GTree {
// 根节点
public TreeNode root = null;

// 插入
public boolean insert(TreeNode parent TreeNode node) {
if (root == null) {
root = node;
return true;
} else {
if (findOne(root parent)) {

// 留待考虑
// TODO 这里会不会直接修改节点的list待考虑
return parent.getChildlist().add(node);
}
}
return false;
}

/**
 * 
 * @param tRoot要参照的根节点
 * @param one要查找的节点
 * @return 是否存在这个节点
 */
public boolean findOne(TreeNode tRoot TreeNode one) {
boolean b = false;
// 参照根结点为空,则该节点一定不存在
if (tRoot == null) {
return false;
}
//
if (tRoot == one) {
return true;
}

if (tRoot.getChildlist() != null) {
int length = tRoot.getChildlist().size();
for (int i = 0; i < length; i++) {
TreeNode node = tRoot.getChildlist().get(i);
if (node == one) {
return true;
} else {
if (node.getChildlist().size() != 0) {
b = b || findOne(node one);
}
}
}
} else {
return false;
}

return b;
}

// 遍历
/**
 * 
 * @param root
 *            根节点
 * @param l
 *            层数
 */
public void Travelsal(TreeNode root int l) {
int temp = l * 10;

if (root != null) {
if (l == 1) {
System.out.printf(“|--%-10s--“ root.getValue().toString());
}

if (root.getChildlist() != null && root.getChildlist().size() != 0) {
l++;
int length = root.getChildlist().size();
for (int i = 0; i < length; i++) {
TreeNode node = root.getChildlist().get(i);
System.out.printf(“|--%-10s--“ node.getValue());
// if (node.getChildlist() != null && node.getChildlist().size() != 0) {
Travelsal(node l);

System.out.print(“\n“);
int temp1 = temp;
temp = temp + (temp / 10) * 5;
System.out.printf(“%-“ + temp + “s“ “ “);
temp = temp1;
// }
// else {
// System.out.println();
//
// System.out.printf(“%“ + (l-1)*15+ “s“ ““);
// }

}
}
}
}

public void Travelsal1(TreeNode root int l) {
// if (root.getChildlist() != null && root.getChildlist().size() != 0) {
System.out.print(“|“);
int length = l * 3;
for (int i = 0; i < length + 1; i++) {
System.out.print(“-“);
}
System.out.println(root.getValue());
int clength = root.getChildlist().size();
for (int j = 0; j < clength; j++) {
Travelsal1(root.getChildlist().get(j) l + 1);
}
}
// }

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         379  2018-09-10 18:57  20180910Tree\.classpath
     文件         388  2018-09-10 15:52  20180910Tree\.project
     文件         443  2018-09-12 17:08  20180910Tree\test.txt
     文件         591  2018-09-12 17:09  20180910Tree\test2.txt
     文件         598  2018-09-10 15:52  20180910Tree\.settings\org.eclipse.jdt.core.prefs
     文件        3007  2018-09-13 06:51  20180910Tree\bin\com\wdx\test\GTree.class
     文件         975  2018-09-13 06:59  20180910Tree\bin\com\wdx\test\ID3$1.class
     文件       10096  2018-09-13 06:59  20180910Tree\bin\com\wdx\test\ID3.class
     文件        1592  2018-09-12 12:02  20180910Tree\bin\com\wdx\test\TreeNode.class
     文件        2605  2018-09-13 06:51  20180910Tree\src\com\wdx\test\GTree.java
     文件        9905  2018-09-13 06:59  20180910Tree\src\com\wdx\test\ID3.java
     文件         791  2018-09-10 21:37  20180910Tree\src\com\wdx\test\TreeNode.java

评论

共有 条评论