`
itliuxing
  • 浏览: 934 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

数据结构 JAVA二叉树的简单实现

阅读更多
这是我第一次来上面些博客,唉  文档倒是积累了不少,但是全部都是放在本地的,无法发到网络上大家一起分享和找问题,正好这段时间重新看了看数据结构以及java 虚拟机等东西,因此写了几段代码,大家来看看有没有价值:

数据结构 二叉树:二叉树有多重使用的场景,但是最适合的场景是存储数字型的数据,然后有对数据排序的需求。排序有多重,但是使用二叉树的好处是对数据的写入已经是排序了的,然后获取的时候,只需要按照二叉树的数据机构的纹路获取就轻而易举的实现了,下面是代码,后面我可能会来修改的。

import java.util.Random;

/****
 * *
 * 类名称:		Tree.java 
 * 类描述:   		
 * 创建人:		
 * 创建时间:		2016-12-15上午11:16:00 
 * 修改人:		liuxing
 * 修改时间:		2016-12-15上午11:16:00 
 * 修改备注:   		Tree:二叉树,它具体二叉树所有的特性。同时红黑树更是一颗自平衡的排序二叉树,二叉树的特点就是:
 * 					即树中的任何节点的值大于它的左子节点,且小于它的右子节点。按照这个基本性质使得树的检索效率大大提高
 * 					我们知道在生成二叉树的过程是非常容易失衡的,最坏的情况就是一边倒(只有右/左子树),这样势必会导致二叉树的检索效率大大降低(O(n)),所以为了维持二叉树的平衡,大牛们提出了各种实现的算法
 * 
 * 				以下是二叉树最简单的实现
 * @version
 */
public class Tree {
	
	private static TreeNode root = new TreeNode() ;
		
	public static void put( int info ){
		compare(root, info) ;
	}
	
	/***
	 * 简单二叉树的数据结构
	 * @param node
	 * @param info
	 * @return
	 */
	private static TreeNode compare( TreeNode node,int info ){
		if( node == null || node.getBase() == null ){
			if( node == null ){
				node = new TreeNode() ;
			}
			node.setBase( info ) ;
		}else if( node.getBase() > info ){			//将小于的置于左边
			TreeNode left = compare( node.getLeft(), info) ;
			node.setLeft( left ) ;
		}else if( node.getBase() < info || node.getBase().equals( info ) ){		//将大于等于的置于右边
			TreeNode right = compare( node.getRight(), info) ;
			node.setRight(right) ;
		}
		return node ;
	}
	
	/****
	 * 简单二叉树的数据排序
	 * @param node
	 */
	private static void sort( TreeNode node ){
		if( node == null ){
			return ;
		}else if( node.getBase() != null ){
			if( node.getLeft() != null ){
				sort(  node.getLeft() ) ;
			}
			System.out.println( node.getBase() );
			if( node.getRight() != null ){
				sort(  node.getRight() ) ;
			}
		}
	}
	

	public static void main(String[] args) {
		int i = 0 ;
		while(i < 4){
			int mark = new Random().nextInt( 100 ) ;
			Tree.put( mark ) ;
			i++ ;
		}
		sort( root ) ;
	}
	
}
class TreeNode{
	
	private Integer base ;
	protected TreeNode right ;
	protected TreeNode left ;
	
	
	public TreeNode getRight() {
		return right;
	}
	public void setRight(TreeNode right) {
		this.right = right;
	}
	public TreeNode getLeft() {
		return left;
	}
	public void setLeft(TreeNode left) {
		this.left = left;
	}
	public Integer getBase() {
		return base;
	}
	public void setBase(Integer base) {
		this.base = base;
	}
	
}
分享到:
评论
1 楼 itliuxing 2016-12-22  
自己来赞一下自己,明天发红黑树的数据结构java版本,用最简单的方式
上面的实现方式是用 递归 简单的实现的

相关推荐

    数据结构——二叉树的实现.zip

    这个压缩包文件"数据结构——二叉树的实现.zip"显然包含了关于二叉树实现的详细内容,特别是二叉链表和左子右兄弟两种不同的实现方法。 首先,我们来探讨二叉链表的实现。二叉链表是最基础的二叉树存储方式,每个...

    数据结构-二叉树 JAVA语言实现

    在IT领域,数据结构是计算机科学的基础,而二叉树作为一种重要的数据结构,被广泛应用于算法设计、数据库系统、编译器等领域。本教程将详细阐述如何使用JAVA语言实现二叉树的相关操作。 首先,我们要了解二叉树的...

    数据结构 二叉树 java图形界面实现

    本文将深入探讨“数据结构 二叉树 java图形界面实现”这一主题,主要围绕二叉树的基本概念、常见操作以及如何在Java环境中结合图形界面进行实现。 首先,二叉树是一种非线性的数据结构,每个节点最多有两个子节点,...

    java实现二叉树数据结构

    java实现二叉树数据结构,简单明了,免费下载

    数据结构-二叉树Java实现及其遍历算法

    数据结构-二叉树Java实现及其遍历算法,代码示例中实现了中序遍历,简单易学。

    数据结构-二叉树(Java实现)

    编程实现如下功能: 1、假设二叉树的结点值是字符,根据输入的一颗二叉树的标明了空子树的完整先根遍历序列,建立一棵以二叉链表表示的二叉树。 2、对二叉树进行先根、中根和后根遍历操作,并输出遍历序列,同时观察...

    java版数据结构的 算术表达式与二叉树源码

    Java作为一种流行的编程语言,被广泛用于实现各种数据结构,包括二叉树。本篇将详细讲解基于Java的算术表达式与二叉树相关的知识点。 一、算术表达式与二叉树 1. **中缀表达式**:我们日常接触的算术表达式通常是...

    数据结构java在控制台实现二叉树的打印

    数据结构java在控制台实现二叉树的打印

    java 二叉树实现

    java二叉树实现 (简单实现,入门用) /**创建二叉树*/ public BinaryTree createTree(String treeStr); /**寻找结点*/ public BinaryTree findNode(BinaryTree tree ,char sign); /**找所给结点的左子树*/ ...

    数据结构二叉树专题java代码实现

    二叉树的性质和操作是数据结构和算法课程的重点,熟练掌握这些概念和实现对于提升编程能力、解决复杂问题具有重要意义。通过分析和实践这两个文件,你可以深化对二叉树的理解,并将其应用到实际项目中。

    数据结构JAVA实现

    在这个名为“数据结构JAVA实现”的压缩包中,我们可以看到作者提供了三种重要的数据结构——链表、有序二叉树和队列的Java代码实现。 首先,让我们详细探讨链表。链表是一种线性数据结构,与数组不同,它不连续存储...

    用java实现的二叉树结构

    包括 add delete find 等方法,适用于搞java/android开发的同学学习和了解二叉树的结构以及实现。

    数据结构二叉树接口实现

    二叉树作为数据结构的一种,是树形结构的特殊形式,每个节点最多有两个子节点,通常称为左子节点和右子节点。本文将深入探讨二叉树的概念、特性以及如何在编程中实现一个二叉树接口。 一、二叉树定义与类型 1. ...

    数据结构java树与二叉树PPT课件.pptx

    "数据结构java树与二叉树PPT课件.pptx" 本资源是关于数据结构中的树和二叉树的PPT课件,共51页。该资源对树和二叉树的定义、基本术语、类型、遍历方法等进行了详细的介绍。 树的定义: 树是由n(n≥0)个有限数据...

    java简单实现二叉树

    二叉树是一种树形数据结构,其中每个节点最多有两个子节点,通常称为左子节点和右子节点。二叉树在计算机科学中有着广泛的应用,如搜索算法、排序算法等。 #### 二、Java中实现二叉树的关键类 根据提供的代码片段...

    数据结构java版

    9. **排序算法**:在Java中实现的各种排序算法,如冒泡排序、选择排序、插入排序、快速排序、归并排序和堆排序,都是基于特定数据结构的优化操作。 10. **搜索算法**:深度优先搜索(DFS)和广度优先搜索(BFS)是...

    java二叉树结构实现的中国电信超级号码簿菜单

    在Java编程中,二叉树是一种非常重要的数据结构,它被广泛应用于各种场景,如文件系统、搜索引擎、编译器语法分析等。中国电信超级号码簿菜单的实现利用了二叉树来组织和管理菜单结构,这使得数据的查找、插入和删除...

    java数据结构二叉树的四种遍历

    java数据结构二叉树的打印,通过队列,栈等,最后前序中序后序和层次四种遍历。。。

    数据结构(java版本)

    《数据结构(Java版本)》这本书正是为此目的而编写,旨在将理论与实际编程相结合,通过Java语言来实现各种经典的数据结构。 首先,书中的基础部分会介绍数据结构的基本概念,如数组、链表、栈和队列。数组是最基本...

    java二叉树的实现

    用java写的二叉树,一种特别的二叉树,右子树大于左子树,具体的名称不记得了。

Global site tag (gtag.js) - Google Analytics