`

Java实现二叉树遍历算法

    博客分类:
  • Java
阅读更多
在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实现二叉树遍历算法详解 #### 一、引言 在计算机科学中,二叉树是一种常用的数据结构,广泛应用于各种算法和数据处理场景。为了更好地理解和操作二叉树,掌握其遍历算法至关重要。本文将详细介绍如何使用...

    java实现二叉树遍历demo

    本示例"java实现二叉树遍历demo"将通过一个简单的实例来演示这三种遍历方式。 1. **前序遍历**: 前序遍历的顺序是:根节点 -&gt; 左子树 -&gt; 右子树。在代码实现中,通常采用递归的方法。首先访问根节点,然后递归地...

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

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

    二叉树遍历算法解析与实现(递归、迭代、Morris遍历)

    适合人群:对数据结构有一定基础的开发者,特别是希望深入理解二叉树遍历算法的人群。 使用场景及目标:① 掌握递归和迭代的不同遍历方法;② 学习如何使用Morris遍历减少空间复杂度;③ 准备编程面试中的算法题。 ...

    Java版二叉树遍历非递归程序

    ### Java版二叉树遍历非递归程序详解 #### 一、引言 在计算机科学领域中,二叉树是一种常见的数据结构,其在算法设计、数据存储以及搜索等方面有着广泛的应用。对于二叉树的操作,遍历是其中非常重要的一项技术。...

    Java二叉树中序遍历

    中序遍历是二叉树遍历的一种方法,它按照“左-根-右”的顺序访问树中的所有节点,对于理解树的性质和执行某些操作非常有用。本课程设计将详细介绍如何使用Java编程语言实现二叉树的中序遍历。 首先,我们先构建...

    队列实现二叉树遍历.rar

    在计算机科学中,二叉树是一种非常基础且重要的数据结构,它由节点构成,每个节点最多有两个子节点,通常称为左子节点和右子节点。...理解并掌握二叉树遍历及其队列实现,对于提升算法能力和解决实际问题具有重要意义。

    java算法二叉树遍历源码文档.doc

    二叉树遍历在实际应用中有着广泛的应用,例如在文件系统中组织目录结构,搜索引擎的倒排索引,以及计算机科学中的许多算法实现,如二分查找、AVL树、红黑树等。理解并能够灵活运用这些遍历方法对于掌握数据结构和...

    二叉树各种遍历算法

    对于给定的压缩包文件"二叉树各种遍历算法",其中应该包含了上述各种遍历方法的代码示例,可能包括C++、Java、Python或其他编程语言。通过学习这些代码,你可以深入理解每种遍历方法的实现细节,并且可以运用到实际...

    二叉树的遍历 java语言实现

    二叉树遍历是访问二叉树中所有节点的过程,通常有三种主要方法:前序遍历、中序遍历和后序遍历。这些遍历方式对于理解和操作二叉树数据结构至关重要。 1. **前序遍历**(Preorder Traversal): - 访问根节点。 -...

    二叉树遍历 单步演示

    在计算机科学中,二叉树是...总结来说,"二叉树遍历 单步演示"项目提供了一个学习和实践二叉树遍历的平台,借助Eclipse J2SE的调试功能,用户可以直观地了解遍历过程,有助于深化对二叉树数据结构及其遍历算法的理解。

    java实现的二叉树的递归和非递归遍历

    在Java编程语言中,二叉树是一种非常...通过阅读和理解这些代码,你可以更好地掌握二叉树遍历的原理和实践,这对于理解和解决涉及二叉树的算法问题至关重要。在实际编程中,选择哪种遍历方法取决于具体需求和性能考虑。

    二叉树 层序遍历 java实现 课程设计

    总的来说,这个课程设计旨在让学生深入理解二叉树的层序遍历算法,掌握其Java实现,并通过实践提高编程能力。这是一项基础但关键的任务,对后续学习更复杂的算法和数据结构有着重要的铺垫作用。

    二叉树遍历(C)- 非递归版.pdf

    二叉树遍历(C)- 非递归版 本文档主要讲述了二叉树的非递归遍历算法,包括...本文档提供了二叉树非递归遍历算法的详细讲解,包括先序遍历和中序遍历两种遍历方式,旨在帮助读者深入理解二叉树遍历算法的实现细节。

    二叉树遍历算法 (递归的、非递归的中序、前序、后序遍历 和 层次遍历 以及 求二叉树的宽度和深度)

    ### 二叉树遍历算法详解 #### 一、引言 二叉树是一种非常重要的数据结构,在计算机科学中有着广泛的应用。对于二叉树的操作,遍历是最基础且核心的功能之一。通过不同的遍历方式,我们可以从多个角度理解二叉树的...

    二叉树遍历.rar

    在你解压的文件中,"二叉树的遍历.cpp"可能是实现了以上遍历算法的C++代码,而"二叉树的遍历.doc"可能包含了对这些概念的详细解释,以及可能的作业要求和解题思路。通过阅读和理解这些文件,你可以深入学习和掌握...

    二叉树的遍历-java

    在计算机科学中,二叉树遍历是访问树中所有节点的一种基本操作,通常有三种主要的遍历方式:前序遍历、中序遍历和后序遍历。这些遍历方法在数据结构和算法领域中有着广泛的应用,特别是在编译器设计、搜索算法和数据...

    Java实现二叉树的层次遍历

    本篇文章将详细探讨如何实现二叉树的层次遍历,即按照从根节点到叶子节点的层次顺序访问所有节点。 首先,我们需要定义二叉树节点的数据结构。在`BinaryTree.java`文件中,我们可以创建一个名为`Node`的类来表示树...

    Java实现二叉树的深度优先遍历和广度优先遍历算法示例

    Java实现二叉树的深度优先遍历和广度优先遍历算法示例 本文主要介绍了Java实现二叉树的深度优先遍历和广度优先遍历算法,结合实例形式详细分析了二叉树的定义、深度优先遍历与广度优先遍历算法原理与相关操作实现...

    java二叉树的遍历

    在给定的代码中,作者提供了一个完整的Java实现,包括递归和非递归的前序、中序和后序遍历算法。下面将对这些算法进行详细的解释和分析。 递归前序遍历 递归前序遍历的算法可以描述为:访问当前节点,然后递归地...

Global site tag (gtag.js) - Google Analytics