今天又复习了树的一些特点 ..
虽然在数据结构上有接触过.不过都是用c++实现的,现在用java来实现反而有点不大习惯.
只写了个通过数组来构造一棵树的几个方法.中序遍历树之后排列出来的数字都是有序的..
public TreeNode ArrayToTree(int[] array) {
if (array == null) {
throw new RuntimeException("传入的数组为空");
}
TreeNode root = new TreeNode(array[0]);
int i = 0;
for (i = 1; i < array.length; i++) {
toTree(array[i], root);
}
return root;
}
/**
* 递归将每个结点插入树中
*
* @param i结点中的数据
* @param t树的根结点
*/
public void toTree(int i, TreeNode t) {
if (t != null) {
// 左右子树都为空的时候则必定新建结点插入
if (t.getLchild() == null && t.getRchild() == null) {
if (i < (Integer) t.getData()) {
t.setLchild(new TreeNode(i));
} else {
t.setRchild(new TreeNode(i));
}
// 左右子树只有一边为空时,当其满足条件则新建结点插入,否则递归判断
} else if (t.getLchild() == null && t.getRchild() != null) {
if (i < (Integer) t.getData()) {
t.setLchild(new TreeNode(i));
} else {
toTree(i, t.getRchild());
}
} else if (t.getLchild() != null && t.getRchild() == null) {
if (i >= (Integer) t.getData()) {
t.setRchild(new TreeNode(i));
} else {
toTree(i, t.getLchild());
}
// 左右子树均存在的情况下,递归..
} else if (i < (Integer) t.getData()) {
toTree(i, t.getLchild());
} else if (i >= (Integer) t.getData()) {
toTree(i, t.getRchild());
}
}
}
分享到:
相关推荐
移动端 日期,树...等控件的js插件 if (!window.jQuery) { var jQuery = Zepto; (function (a) { [ 'width', 'height' ].forEach(function (k) { a.fn[k] = function (n) { var t, c = document.body, h ...
圣诞树源码圣诞树.zip圣诞树源码圣诞树.zip圣诞树源码圣诞树.zip圣诞树源码圣诞树.zip圣诞树源码圣诞树.zip圣诞树源码圣诞树.zip圣诞树源码圣诞树.zip圣诞树源码圣诞树.zip圣诞树源码圣诞树.zip圣诞树源码圣诞树.zip...
1_圣诞树.bat
圣诞树源码C#圣诞树.zip圣诞树源码C#圣诞树.zip圣诞树源码C#圣诞树.zip圣诞树源码C#圣诞树.zip圣诞树源码C#圣诞树.zip圣诞树源码C#圣诞树.zip圣诞树源码C#圣诞树.zip圣诞树源码C#圣诞树.zip圣诞树源码C#圣诞树.zip...
圣诞树.exe
圣诞树源码—一颗圣诞树.zip圣诞树源码—一颗圣诞树.zip圣诞树源码—一颗圣诞树.zip圣诞树源码—一颗圣诞树.zip圣诞树源码—一颗圣诞树.zip圣诞树源码—一颗圣诞树.zip圣诞树源码—一颗圣诞树.zip圣诞树源码—一颗...
圣诞树源码html+css圣诞树.zip圣诞树源码html+css圣诞树.zip圣诞树源码html+css圣诞树.zip圣诞树源码html+css圣诞树.zip圣诞树源码html+css圣诞树.zip圣诞树源码html+css圣诞树.zip圣诞树源码html+css圣诞树.zip圣诞...
随机樱花树.py随机樱花树.py随机樱花树.py随机樱花树.py随机樱花树.py随机樱花树.py随机樱花树.py随机樱花树.py随机樱花树.py随机樱花树.py随机樱花树.py随机樱花树.py随机樱花树.py随机樱花树.py随机樱花树.py随机...
圣诞树源码Html5+CSS3+JS代码实现动态圣诞树.zip圣诞树源码Html5+CSS3+JS代码实现动态圣诞树.zip圣诞树源码Html5+CSS3+JS代码实现动态圣诞树.zip圣诞树源码Html5+CSS3+JS代码实现动态圣诞树.zip圣诞树源码...
圣诞树.html
神经网络+支持向量机+深度算法+决策树.zip神经网络+支持向量机+深度算法+决策树.zip神经网络+支持向量机+深度算法+决策树.zip神经网络+支持向量机+深度算法+决策树.zip神经网络+支持向量机+深度算法+决策树.zip神经...
机器学习入门与实战(scikit-learn和Keras)课件—决策树.pdf机器学习入门与实战(scikit-learn和Keras)课件—决策树.pdf机器学习入门与实战(scikit-learn和Keras)课件—决策树.pdf机器学习入门与实战(scikit-learn和...
圣诞树源码圣诞树源码.zip圣诞树源码圣诞树源码.zip圣诞树源码圣诞树源码.zip圣诞树源码圣诞树源码.zip圣诞树源码圣诞树源码.zip圣诞树源码圣诞树源码.zip圣诞树源码圣诞树源码.zip圣诞树源码圣诞树源码.zip圣诞树...
1 字符串处理 5 1.1 KMP . . . . ....3.3 树链剖分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.3.1 点权 . . . . . . . . . . . . . . . . . . . . . . ...
事故树.ftx(用DW打开即可)
使用了非二叉决策回归树.zip入门级别的房价预测机器学习实验,使用了非二叉决策回归树.zip入门级别的房价预测机器学习实验,使用了非二叉决策回归树.zip入门级别的房价预测机器学习实验,使用了非二叉决策回归树.zip...