算法中的二叉树 java
来源:互联网 发布:软件测试包括哪些 编辑:程序博客网 时间:2024/05/16 09:50
算法中二叉树的递归定义及遍历
package com.test.zx;import java.util.Arrays;import java.util.Scanner;import javax.swing.RootPaneContainer;//二叉排序树public class Main {public static void main(String[]args){BiTree root=new BiTree(100);root.add(new BiTree(50));root.add(new BiTree(80));root.add(new BiTree(40));root.add(new BiTree(30));root.mid_trav();}}class BiTree{//递归定义法private int v;private BiTree l;//左子树private BiTree r;//右子树public BiTree(int x){v=x;}//构造方法public void add(BiTree the ){if(the.v<v){//比根节点小if(l==null){//左子树为空l=the;}else {l.add(the);//递归}}else{//比根节点大if(r==null){//右子树为空r=the;}else{r.add(the);//递归}}}//中序遍历二叉树public void mid_trav(){if(l!=null){l.mid_trav();//先遍历左子树}System.out.println(v);if(r!=null){r.mid_trav();//再遍历右子树}}}
平衡二叉树法(左右子树高度相差不超过1)
LL型--右旋
RR型--左旋
LR型: 先左旋再右旋
RL型:先右旋,在左旋
改进方法2:红黑树
定义:每个节点是红的或黑的
根节点是黑的
叶子结点,空节点是黑的
一个节点是红的,则它的左右子结点都是黑的
对每个结点,从该结点到其子孙结点的所有路径上包含相同数目的黑结点
0 0
- 算法中的二叉树 java
- Java-二叉树算法
- java 二叉树实现算法
- java二叉树排序算法
- java二叉树排序算法
- 二叉树算法(java)
- java 反转二叉树算法
- java算法:递归二叉树算法
- java算法:树与二叉树
- 用java写二叉树的算法
- Java实现二叉树遍历算法
- java 二叉树算法(一)
- java 二叉树算法(二)
- 二叉树的java构造算法
- Java实现的二叉树算法
- 用java写二叉树的算法
- java算法之构建二叉树
- java创建二叉树(仅算法)
- Leetcode031--集合的所有子集
- 矩阵快速幂的JAVA实现
- Centos与mysql
- MYSQL性能优化的最佳20+条经验
- c++继承
- 算法中的二叉树 java
- Spring学习总结——Spring实现AOP的多种方式
- Java ArrayList源码小结
- init-param在load-on-startup之前
- oracle安装及使用常见错误
- java : jsp 使用 log4j.jar
- ioc的简单实现
- Collection接口
- 资料自动备份的脚本