`
请输入用户名
  • 浏览: 45892 次
  • 性别: Icon_minigender_1
  • 来自: martian
社区版块
存档分类
最新评论

二叉树(留着用)

阅读更多
package yfTest.shixi;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import java.util.SortedSet;

import org.junit.Test;

import sun.misc.Compare;

public class BTree {
	public BTNode root;

	private char[] c = {'a','b','#','c','#','d'} ;
	public static int count = 0;


	public void init(){
		root =new BTNode(getC());
		create(root,c);
	}
	public void create(BTNode node,char[] c){
		char temp ;
		node.addLeft(temp=getC());
		if(temp != '#'){
			create(node.getLeftChild(),c);
		}
		node.addRight(temp=getC());
		if(temp != '#'){
			create(node.getRightChild(),c);
		}
	}
	public char getC(){
		if(BTree.count<c.length)
			return c[BTree.count++];
		return '#';
	}
	@Override
	public String toString(){
		return root.toString();
	}
	@Test
	public void show(){
		init();
		System.out.println(root);
		
		Set<Integer> set = new HashSet<Integer>();
		set.add(123);
		set.add(123);
		int[] a ={123,23,43};
		System.out.println(set);
	}
	@Test
	public void regexTest(){
		String str = "I,.;am;.!;.!;.!eating;.?something";
		str=str.replaceAll("\\p{Punct}", " ");
		System.out.println(str);
	}
}
class BTNode{
	public static int Ceng = 1;
	private char name;
	private BTNode leftChild;
	private BTNode rightChild;
	
	public BTNode(char name){
		this.name = name;
	}
	public boolean hasLeft(){
		return leftChild != null /*&& !leftChild.getName().equals("#")*/;
	}
	public boolean hasRight(){
		return rightChild != null /*&& !leftChild.getName().equals("#")*/;
	}
	public BTNode addLeft(char left){
		leftChild = new BTNode(left);
		return leftChild;
	}
	public BTNode addRight(char right){
		rightChild = new BTNode(right);
		return rightChild;
	}
	public void init(){
		
	}
	@Override
	public String toString(){
		String temp = name+""+BTNode.Ceng+"|";
		BTNode.Ceng++;
		if(hasLeft()) temp+="L "+leftChild.toString();
		if(hasRight()) temp+="R "+rightChild.toString();
		BTNode.Ceng--;
		return temp;
	}
	

	public char getName() {
		return name;
	}
	public BTNode getLeftChild() {
		return leftChild;
	}
	public BTNode getRightChild() {
		return rightChild;
	}
}
分享到:
评论

相关推荐

    二叉树二叉树二叉树二叉树二叉树

    二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树

    二叉树排序二叉树排序

    二叉树排序二叉树排序二叉树排序二叉树排序二叉树排序二叉树排序二叉树排序

    判断二叉树是否为完全二叉树

    在二叉树类binarytree中增加一个功能,判断是否为完全二叉树(使用自定义的队列类完成)

    二叉树_二叉树遍历_

    1.二叉树的基本操作实现【问题描述】建立一棵二叉树,用递归方法实现二叉树的如下基本操作:(1)按先序序列构造一棵二叉链表表示的二叉树T;(2)对这棵二叉树进行遍历:先序、中序、后序以及层次遍历,分别输出...

    二叉树---数据结构

    二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树二叉树

    完全二叉树的种类

    构造n个(2)叶结点的的完全二叉树(完全二叉树意味着每个分支结点都有2个儿子结点),有多少种构造方法? 注意:不改变n个结点的相对顺序,左右儿子不调换. 例如: 4个叶子节点A1,A2,A3,A4,可构造出如下完全二叉树,共5种。...

    二叉树的各种操作各种遍历,复制,求高度,判断是否为一棵完全二叉树以及计算用二叉树存储的表达式

    本程序提供了二叉树的各种操作:各种遍历,复制,求高度,判断是否为一棵完全二叉树以及计算用二叉树存储的表达式

    二叉树建立 二叉树基本算法的实现

    (2)先序、中序、后序遍历二叉树:递归算法。 (3)中序遍历二叉树:非递归算法(最好也能实现先序,后序非递归算法)。 (4)求二叉树的高度 。 (5)求二叉树的叶子个数。 (6)对于树中每一个元素值为x的结点...

    判断二叉树是否是完全二叉树

    编写算法判别给定二叉树是否为完全二叉树。

    中序线索二叉树(建立二叉树,线索化,输出二叉树)

    中序线索二叉树(建立二叉树,线索化,输出二叉树)

    二叉树的建立与基本操作

    编写程序实现二叉树的如下操作: 1) 建立二叉链表 2) 二叉树的先序、中序、后序遍历 3) 求解二叉树的叶子结点个数 4) 将二叉树中所有结点的左、右子树相互交换 输入:  扩展二叉树先序序列:ab#d##ce###。其中#...

    二叉树2.dsw

    二叉树的基本功能实现,你二叉树的基本功能实现,你二叉树的基本功能实现,你二叉树的基本功能实现,你二叉树的基本功能实现,你二叉树的基本功能实现,你二叉树的基本功能实现,你二叉树的基本功能实现,你二叉树的...

    二叉树的基本运算

    建立一棵二叉树,试编程实现二叉树的如下基本操作: 1. 按先序序列构造一棵二叉链表表示的二叉树T; 2. 对这棵二叉树进行遍历:先序、中序、后序以及层次遍历,分别输出结点的遍历序列; 3. 求二叉树的深度/结点数目...

    二叉树模板代码 二叉树习题

    二叉树模板代码 二叉树 作业习题 二叉树模板代码 二叉树 作业习题 二叉树模板代码 二叉树 作业习题

    erchashu.txt.tar.gz_二叉树_二叉树的复制

    实现二叉树链表表示的二叉树: 建立一棵二叉树; 按先序、中序和后序遍历二叉树; 按层次遍历; 求一棵二叉树的高度; 交换一棵二叉树的左右子树; 复制一棵二叉树。

    编写算法判别给定二叉树是否为完全二叉树

    编写算法判别给定二叉树是否为完全二叉树,用递归实现

    求二叉树的深度

    采用先序法建立一棵二叉树,设计求该二叉树的深度,二叉树的数据域类型为字符型, 扩展二叉树的叶子结点用‘#’表示,要求可以求多棵二叉树的深度,当二叉树的深度为0时程序结束。

    PHP实现二叉树图

    PHP实现二叉树图

    将满二叉树转化为求和二叉树_二叉树_

    输入共3行:第一行为满二叉树中结点个数n(n&lt;1024);第二行为n个整数,表示二叉树的先序遍历序列;第三行也有n个整数,表示二叉树的中序遍历序列。整数间以空格分割。

    用栈实现二叉树(c++源码)

    1---建立二叉树 2---前序遍历(递归) 3---前序遍历(非递归) 4---中序遍历(递归) 5---中序遍历(非递归) 6---后序遍历(递归) 7---后序遍历(非递归) 8---求树高 9---求叶子总数 10---输出二叉树 11...

Global site tag (gtag.js) - Google Analytics