
正文
决策树算法java代码 决策树算法测试代码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java代码怎样查出树形结构的某个节点的所有子孙节点?要算法实现!!
这样决策树算法java代码的用简单决策树算法java代码的判断就行决策树算法java代码了 :先判断PID为空决策树算法java代码的,这个是父节点,然后取出PID为空的Id当做取其子节点的父节点,一次判断就行决策树算法java代码了,结合列子:取PID为空的ID即1,2,然后把取PId等于1和2的ID即345和6然后分别挂在1和2下,345就是1的子节点,6是2的子节点,有多节点的一次类推(这只是其中一个简单的方法)
相关问答
Q1: java构建二叉树算法
//******************************************************************************************************//
//*****本程序包括简单的二叉树类的实现和前序,中序,后序,层次遍历二叉树算法,*******//
//******以及确定二叉树的高度,制定对象在树中的所处层次以及将树中的左右***********//
//******孩子节点对换位置,返回叶子节点个数删除叶子节点,并输出所删除的叶子节点**//
//*******************************CopyRight By phoenix*******************************************//
//************************************Jan 12,2008*************************************************//
//****************************************************************************************************//
public class BinTree {
public final static int MAX=40;
private Object data; //数据元数
private BinTree left,right; //指向左,右孩子结点的链
BinTree []elements = new BinTree[MAX];//层次遍历时保存各个节点
int front;//层次遍历时队首
int rear;//层次遍历时队尾
public BinTree()
{
}
public BinTree(Object data)
{ //构造有值结点
this.data = data;
left = right = null;
}
public BinTree(Object data,BinTree left,BinTree right)
{ //构造有值结点
this.data = data;
this.left = left;
this.right = right;
}
public String toString()
{
return data.toString();
}//前序遍历二叉树
public static void preOrder(BinTree parent){
if(parent == null)
return;
System.out.print(parent.data+" ");
preOrder(parent.left);
preOrder(parent.right);
}//中序遍历二叉树
public void inOrder(BinTree parent){
if(parent == null)
return;
inOrder(parent.left);
System.out.print(parent.data+" ");
inOrder(parent.right);
}//后序遍历二叉树
public void postOrder(BinTree parent){
if(parent == null)
return;
postOrder(parent.left);
postOrder(parent.right);
System.out.print(parent.data+" ");
}// 层次遍历二叉树
public void LayerOrder(BinTree parent)
{
elements[0]=parent;
front=0;rear=1;
while(frontrear)
{
try
{
if(elements[front].data!=null)
{
System.out.print(elements[front].data + " ");
if(elements[front].left!=null)
elements[rear++]=elements[front].left;
if(elements[front].right!=null)
elements[rear++]=elements[front].right;
front++;
}
}catch(Exception e){break;}
}
}//返回树的叶节点个数
public int leaves()
{
if(this == null)
return 0;
if(left == nullright == null)
return 1;
return (left == null ? 0 : left.leaves())+(right == null ? 0 : right.leaves());
}//结果返回树的高度
public int height()
{
int heightOfTree;
if(this == null)
return -1;
int leftHeight = (left == null ? 0 : left.height());
int rightHeight = (right == null ? 0 : right.height());
heightOfTree = leftHeightrightHeight?rightHeight:leftHeight;
return 1 + heightOfTree;
}
//如果对象不在树中,结果返回-1;否则结果返回该对象在树中所处的层次,规定根节点为第一层
public int level(Object object)
{
int levelInTree;
if(this == null)
return -1;
if(object == data)
return 1;//规定根节点为第一层
int leftLevel = (left == null?-1:left.level(object));
int rightLevel = (right == null?-1:right.level(object));
if(leftLevel0rightLevel0)
return -1;
levelInTree = leftLevelrightLevel?rightLevel:leftLevel;
return 1+levelInTree;
}
//将树中的每个节点的孩子对换位置
public void reflect()
{
if(this == null)
return;
if(left != null)
left.reflect();
if(right != null)
right.reflect();
BinTree temp = left;
left = right;
right = temp;
}// 将树中的所有节点移走,并输出移走的节点
public void defoliate()
{
String innerNode = "";
if(this == null)
return;
//若本节点是叶节点,则将其移走
if(left==nullright == null)
{
System.out.print(this + " ");
data = null;
return;
}
//移走左子树若其存在
if(left!=null){
left.defoliate();
left = null;
}
//移走本节点,放在中间表示中跟移走...
innerNode += this + " ";
data = null;
//移走右子树若其存在
if(right!=null){
right.defoliate();
right = null;
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
BinTree e = new BinTree("E");
BinTree g = new BinTree("G");
BinTree h = new BinTree("H");
BinTree i = new BinTree("I");
BinTree d = new BinTree("D",null,g);
BinTree f = new BinTree("F",h,i);
BinTree b = new BinTree("B",d,e);
BinTree c = new BinTree("C",f,null);
BinTree tree = new BinTree("A",b,c);
System.out.println("前序遍历二叉树结果: ");
tree.preOrder(tree);
System.out.println();
System.out.println("中序遍历二叉树结果: ");
tree.inOrder(tree);
System.out.println();
System.out.println("后序遍历二叉树结果: ");
tree.postOrder(tree);
System.out.println();
System.out.println("层次遍历二叉树结果: ");
tree.LayerOrder(tree);
System.out.println();
System.out.println("F所在的层次: "+tree.level("F"));
System.out.println("这棵二叉树的高度: "+tree.height());
System.out.println("--------------------------------------");
tree.reflect();
System.out.println("交换每个节点的孩子节点后......");
System.out.println("前序遍历二叉树结果: ");
tree.preOrder(tree);
System.out.println();
System.out.println("中序遍历二叉树结果: ");
tree.inOrder(tree);
System.out.println();
System.out.println("后序遍历二叉树结果: ");
tree.postOrder(tree);
System.out.println();
System.out.println("层次遍历二叉树结果: ");
tree.LayerOrder(tree);
System.out.println();
System.out.println("F所在的层次: "+tree.level("F"));
System.out.println("这棵二叉树的高度: "+tree.height());
}
Q2: Java数据结构二叉树深度递归调用算法求内部算法过程详解
二叉树
1
2 3
4 5 6 7
这个二叉树的深度是3,树的深度是最大结点所在的层,这里是3.
应该计算所有结点层数,选择最大的那个。
根据上面的二叉树代码,递归过程是:
f(1)=f(2)+1 f(3) +1 ? f(2) + 1 : f(3) +1
f(2) 跟f(3)计算类似上面,要计算左右结点,然后取大者
所以计算顺序是f(4.left) = 0, f(4.right) = 0
f(4) = f(4.right) + 1 = 1
然后计算f(5.left) = 0,f(5.right) = 0
f(5) = f(5.right) + 1 =1
f(2) = f(5) + 1 =2
f(1.left) 计算完毕,计算f(1.right) f(3) 跟计算f(2)的过程一样。
得到f(3) = f(7) +1 = 2
f(1) = f(3) + 1 =3
if(depleftdepright){
return depleft+1;
}else{
return depright+1;
}
只有left大于right的时候采取left +1,相等是取right
Q3: 求一份计算机本科的毕业设计,题目只要计算机类的就可以
计算机毕业设计
基于Python决策树算法java代码的SIFT和KCF决策树算法java代码的运动目标匹配与跟踪 毕业论文+项目源码
基于Python决策树算法决策树算法java代码的学生学习行为数据分析 设计报告+代码及数据
基于Sring+bootstrap+MySQL决策树算法java代码的住房公积金管理系统 课程报告+项目源码及数据库文件
基于C++决策树算法java代码的即时通信软件设计 毕业论文+项目源码
基于JavaWeb+MySQL的图书管理系统 课程报告+项目源码及数据库文件
基于Android Studio+Android SDK的手机通讯录管理软件设计 课程报告+项目源码
基于JSP+MySQL的校园网上订餐系统 毕业论文+项目源码及数据库文件
基于AndroidStudio的花艺分享平台APP设计 报告+源码及APK文件
基于Python的酒店评论情感分析 课程报告+答辩PPT+项目源码
基于QT的教务选课管理系统设计与实现 毕业论文+项目源码
基于Android+Springboot+Mybatis+Mysql的个人生活APP设计 说明书+项目源码
基于Vue.js+Go的Web3D宇宙空间数据可视化系统 设计报告+前后端源码及数据
基于java+android+SQLite的保健型果饮在线销售APP设计 毕业论文+源码数据库及APK文件
基于Vue.js+SpringBoot+MyBatis+MySQL的高校综合资源发布分享社交二手平台 毕业论文+项目源码及数据库文件+演示视频
基于Delphi+MySQL的大学生竞赛发布及组队系统 设计报告+源码数据库及可执行文件+使用说明书
基于Android的名片信息管理系统设计与实现 毕业论文+任务书+外文翻译及原文+演示视频+项目源码
基于Python的电影数据可视化分析系统 设计报告+答辩PPT+项目源码
基于JavaWeb的企业公司管理系统设计与实现 毕业论文+答辩PPT+演示视频+项目源码
高校成绩管理数据库系统的设计与实现 毕业论文+项目源码
基于JavaWeb的家庭食谱管理系统设计与实现 毕业论文+项目源码及数据库文件
基于Python+SQLSERVER的快递业务管理系统的设计与实现 毕业论文+项目源码及数据库文件
基于Python的语音词频提取云平台 设计报告+设计源码
在推荐系统中引入 Serendipity 的算法研究 毕业论文+参考文献+项目源码
基于Html+Python+Django+Sqlite的机票预订系统 毕业论文+项目源码及数据库文件
基于Python的卷积神经网络的猫狗图像识别系统 课程报告+项目源码
基于C++的云安全主动防御系统客户端服务端设计 毕业论文+项目源码
基于JavaSSM的学生成绩管理APP系统设计与实现 毕业论文+答辩PPT+前后台源码及APK文件
基于JavaSwing+MySQL的清朝古代名人数据管理系统设计 毕业论文+任务书+项目源码及数据库文件
基于Python_Django的社会实践活动管理系统设计与实现 毕业论文
基于Servlet WebSocket MySQL实现的网络在线考试系统 毕业论文+项目源码
基于JavaWEB+MySQL的学生成绩综合管理系统 毕业论文+项目源码及数据库文件
基于SpringBoot+Vue和MySQL+Redis的网络课程平台设计与实现 毕业论文+任务书+开题报告+中期报告+初稿+前后台项目源码
基于Java的毕业设计题目收集系统 课程报告+项目源码
基于Java+Python+html的生产者与消费者算法模拟 毕业论文+任务书+项目源码
基于JavaWeb+MySQL的学院党费缴费系统 毕业论文+项目源码及数据库文件
基于Java+MySQL的学生成绩管理系统 毕业论文+任务书+答辩PPT+项目源码及数据库文件
基于Java+MySQL的学生和客户信息管理系统 课程报告+项目源码及数据库文件
基于Java的长整数加减法算法设计 毕业论文+项目源码
基于vue+MySQL的毕业设计网上选题系统 毕业论文+项目源码
基于背景建模和FasterR-CNN的视频前景和目标检测 毕业论文+答辩PPT+项目源码
基于Python的智能视频分析之人数统计的多种实现 毕业论文+答辩PPT+项目源码
基于C#+SQL server的校园卡消费信息管理系统 毕业论文+项目源码及数据库文件
关于决策树算法java代码和决策树算法测试代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







