資源簡介
java實現(xiàn)的ID3決策樹算法改良版,可以隨意改變數(shù)據(jù)源(符合格式就行)

代碼片段和文件信息
package?com.wdx.test;
public?class?GTree?{
//?根節(jié)點
public?TreeNode?root?=?null;
//?插入
public?boolean?insert(TreeNode?parent?TreeNode?node)?{
if?(root?==?null)?{
root?=?node;
return?true;
}?else?{
if?(findOne(root?parent))?{
//?留待考慮
//?TODO?這里會不會直接修改節(jié)點的list待考慮
return?parent.getChildlist().add(node);
}
}
return?false;
}
/**
?*?
?*?@param?tRoot要參照的根節(jié)點
?*?@param?one要查找的節(jié)點
?*?@return?是否存在這個節(jié)點
?*/
public?boolean?findOne(TreeNode?tRoot?TreeNode?one)?{
boolean?b?=?false;
//?參照根結(jié)點為空,則該節(jié)點一定不存在
if?(tRoot?==?null)?{
return?false;
}
//
if?(tRoot?==?one)?{
return?true;
}
if?(tRoot.getChildlist()?!=?null)?{
int?length?=?tRoot.getChildlist().size();
for?(int?i?=?0;?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
?*????????????根節(jié)點
?*?@param?l
?*????????????層數(shù)
?*/
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? 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? System.out.print(“-“);
}
System.out.println(root.getValue());
int?clength?=?root.getChildlist().size();
for?(int?j?=?0;?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
評論
共有 條評論