在JAVA中实现二叉树,程序如下
//********************************************************************
//filename: BinaryTreeTest.java
//purpose: test a binarytree with java
//author: 猪头
//ver: 0.1
//********************************************************************
public class BinaryTreeTest
{
public static void main(String args[])
{
BinaryTreeTest b=new BinaryTreeTest();
int data[]={12,11,34,45,67,89,56,43,22,98};
BinaryTree root =new BinaryTree(data[0]);
System.out.print("二叉树的中的数据: ");
for(int i=1;i<data.length;i++)
{
root.insertTree(root,data[i]);
System.out.print(data[i-1]+";");
}
System.out.println(data[data.length-1]);
int key=Integer.parseInt(args[0]);
if(b.searchkey(root,key))
{
System.out.println("找到了:"+key);
}
else
{
System.out.println("没有找到:"+key);
}
}
public boolean searchkey(BinaryTree root, int key)
{
boolean bl=false;
if(root==null)
{
bl=false;
return bl;
}
else if(root.data==key)
{
bl=true;
return bl;
}
else if(key>=root.data)
{
return searchkey(root.rightpoiter,key);
}
return searchkey(root.leftpoiter,key);
}
}
class BinaryTree
{
int data;
BinaryTree leftpoiter;
BinaryTree rightpoiter;
BinaryTree(int data)
{
this.data=data;
leftpoiter=null;
rightpoiter=null;
}
public void insertTree(BinaryTree root, int data)
{
if(data>=root.data)
{
if(root.rightpoiter==null)
{
root.rightpoiter=new BinaryTree(data);
}
else
{
insertTree(root.rightpoiter,data);
}
}
else
{
if(root.leftpoiter==null)
{
root.leftpoiter=new BinaryTree(data);
}
else
{
insertTree(root.leftpoiter,data);
}
}
}
}
//end
讲解:上述各序小,但层次分明,结构严谨,如果有数据库结构知识与C语文能力的JAVA初学者
一看就明白,二个方法如同C语文中的函数,一个寻找关键字--searchkey 另一个是插入一个
结点:insertTree 而class BinaryTree 如同一个C语言中的共同体.
另外这是一个完全的先序遍历二叉树的语法。先根结点,再左结点,如无再右结点,如些加归至
搜索完毕。
运行命令行:java BinaryTreeTest intNumber(一个整数)
分享到:
相关推荐
### Java实现二叉树遍历算法详解 #### 一、引言 在计算机科学中,二叉树是一种常用的数据结构,广泛应用于各种算法和数据处理场景。为了更好地理解和操作二叉树,掌握其遍历算法至关重要。本文将详细介绍如何使用...
本示例"java实现二叉树遍历demo"将通过一个简单的实例来演示这三种遍历方式。 1. **前序遍历**: 前序遍历的顺序是:根节点 -> 左子树 -> 右子树。在代码实现中,通常采用递归的方法。首先访问根节点,然后递归地...
数据结构-二叉树Java实现及其遍历算法,代码示例中实现了中序遍历,简单易学。
适合人群:对数据结构有一定基础的开发者,特别是希望深入理解二叉树遍历算法的人群。 使用场景及目标:① 掌握递归和迭代的不同遍历方法;② 学习如何使用Morris遍历减少空间复杂度;③ 准备编程面试中的算法题。 ...
### Java版二叉树遍历非递归程序详解 #### 一、引言 在计算机科学领域中,二叉树是一种常见的数据结构,其在算法设计、数据存储以及搜索等方面有着广泛的应用。对于二叉树的操作,遍历是其中非常重要的一项技术。...
中序遍历是二叉树遍历的一种方法,它按照“左-根-右”的顺序访问树中的所有节点,对于理解树的性质和执行某些操作非常有用。本课程设计将详细介绍如何使用Java编程语言实现二叉树的中序遍历。 首先,我们先构建...
在计算机科学中,二叉树是一种非常基础且重要的数据结构,它由节点构成,每个节点最多有两个子节点,通常称为左子节点和右子节点。...理解并掌握二叉树遍历及其队列实现,对于提升算法能力和解决实际问题具有重要意义。
二叉树遍历在实际应用中有着广泛的应用,例如在文件系统中组织目录结构,搜索引擎的倒排索引,以及计算机科学中的许多算法实现,如二分查找、AVL树、红黑树等。理解并能够灵活运用这些遍历方法对于掌握数据结构和...
对于给定的压缩包文件"二叉树各种遍历算法",其中应该包含了上述各种遍历方法的代码示例,可能包括C++、Java、Python或其他编程语言。通过学习这些代码,你可以深入理解每种遍历方法的实现细节,并且可以运用到实际...
二叉树遍历是访问二叉树中所有节点的过程,通常有三种主要方法:前序遍历、中序遍历和后序遍历。这些遍历方式对于理解和操作二叉树数据结构至关重要。 1. **前序遍历**(Preorder Traversal): - 访问根节点。 -...
在计算机科学中,二叉树是...总结来说,"二叉树遍历 单步演示"项目提供了一个学习和实践二叉树遍历的平台,借助Eclipse J2SE的调试功能,用户可以直观地了解遍历过程,有助于深化对二叉树数据结构及其遍历算法的理解。
在Java编程语言中,二叉树是一种非常...通过阅读和理解这些代码,你可以更好地掌握二叉树遍历的原理和实践,这对于理解和解决涉及二叉树的算法问题至关重要。在实际编程中,选择哪种遍历方法取决于具体需求和性能考虑。
总的来说,这个课程设计旨在让学生深入理解二叉树的层序遍历算法,掌握其Java实现,并通过实践提高编程能力。这是一项基础但关键的任务,对后续学习更复杂的算法和数据结构有着重要的铺垫作用。
二叉树遍历(C)- 非递归版 本文档主要讲述了二叉树的非递归遍历算法,包括...本文档提供了二叉树非递归遍历算法的详细讲解,包括先序遍历和中序遍历两种遍历方式,旨在帮助读者深入理解二叉树遍历算法的实现细节。
### 二叉树遍历算法详解 #### 一、引言 二叉树是一种非常重要的数据结构,在计算机科学中有着广泛的应用。对于二叉树的操作,遍历是最基础且核心的功能之一。通过不同的遍历方式,我们可以从多个角度理解二叉树的...
在你解压的文件中,"二叉树的遍历.cpp"可能是实现了以上遍历算法的C++代码,而"二叉树的遍历.doc"可能包含了对这些概念的详细解释,以及可能的作业要求和解题思路。通过阅读和理解这些文件,你可以深入学习和掌握...
在计算机科学中,二叉树遍历是访问树中所有节点的一种基本操作,通常有三种主要的遍历方式:前序遍历、中序遍历和后序遍历。这些遍历方法在数据结构和算法领域中有着广泛的应用,特别是在编译器设计、搜索算法和数据...
本篇文章将详细探讨如何实现二叉树的层次遍历,即按照从根节点到叶子节点的层次顺序访问所有节点。 首先,我们需要定义二叉树节点的数据结构。在`BinaryTree.java`文件中,我们可以创建一个名为`Node`的类来表示树...
Java实现二叉树的深度优先遍历和广度优先遍历算法示例 本文主要介绍了Java实现二叉树的深度优先遍历和广度优先遍历算法,结合实例形式详细分析了二叉树的定义、深度优先遍历与广度优先遍历算法原理与相关操作实现...
在给定的代码中,作者提供了一个完整的Java实现,包括递归和非递归的前序、中序和后序遍历算法。下面将对这些算法进行详细的解释和分析。 递归前序遍历 递归前序遍历的算法可以描述为:访问当前节点,然后递归地...