码迷,mamicode.com
首页 > 编程语言 > 详细

Java-二叉树算法

时间:2015-05-09 08:58:41      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:二叉树   算法   java   

二叉树算法的排序规则: 

 1、选择第一个元素作为根节点 

 2、之后如果元素大于根节点放在右子树,如果元素小于根节点,则放在左子树

 3、最后按照中序遍历的方式进行输出,则可以得到排序的结果(左->根->右)

二叉树算法的核心类,此类只提供了添加和打印输出的方法

package com.lym.binaryTree;

/**
 * 二叉树算法的排序规则: 
 * 1、选择第一个元素作为根节点 
 * 2、之后如果元素大于根节点放在右子树,如果元素小于根节点,则放在左子树
 * 3、最后按照中序遍历的方式进行输出,则可以得到排序的结果(左->根->右)
 * 
 * @author Administrator
 * 
 */
public class BinaryTree {

	private Node root;// 根节点

	// 添加节点,提供外部访问
	public void add(int data) {
		if (root == null) {
			root = new Node(data);
		} else {
			root.addNode(data);
		}
	}

	// 输出节点,提供外部访问
	public void print() {
		if (root != null) {
			root.printNode();
		}
	}

	// 树枝节点
	class Node {
		private Node leftNode;
		private Node rightNode;
		private int data;

		public Node(int data) {
			this.data = data;
		}

		// 添加节点
		public void addNode(int data) {
			if (this.data > data) {// 添加在左面
				if (this.leftNode == null) {
					this.leftNode = new Node(data);
				} else {
					this.leftNode.addNode(data);
				}
			} else if (this.data <= data) {
				if (this.rightNode == null) {
					this.rightNode = new Node(data);
				} else {
					this.rightNode.addNode(data);
				}
			}
		}

		// 输出所有节点
		//中序遍历
		public void printNode() {
			if (this.leftNode != null) {
				this.leftNode.printNode();
			}
			System.out.print(this.data + " ");//输出语句放最后就是后续遍历
			if (this.rightNode != null) {
				this.rightNode.printNode();
			}
		}
	}
}

二叉树的测试类

package com.lym.binaryTree;
/**
 * 二叉树测试类
 * 
 * @author Administrator
 *
 */
public class BinaryTreeDemo {

	public static void main(String[] args) {
		BinaryTree bt = new BinaryTree();
		bt.add(3);
		bt.add(5);
		bt.add(2);
		bt.add(1);
		bt.add(4);
		bt.add(8);
		bt.add(10);
		bt.add(13);
		bt.add(6);
		bt.add(9);
		
		bt.print();
	}

}


Java-二叉树算法

标签:二叉树   算法   java   

原文地址:http://blog.csdn.net/u014740338/article/details/45584961

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!