`
ningxiaofeng
  • 浏览: 6803 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

转帖 JAVA 二叉树 实现

阅读更多

原帖地址:http://topic.csdn.net/u/20090218/17/6f07b6db-5019-4102-bc72-cc4db3eae890.html

1)要求   <!-- google_ad_section_start -->用java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来:

定义Node

public class Node {

 public int key;
 
 Node right;
 
 Node left;

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

 public String toString() {
  return "my key is " + key;
 }

}

定义二叉树

public class Tree {
 public Node root;

 public Node findNode(Node node) {
  Node current = root;
  while (current.key != node.key) {
   if (current.key > node.key) {
    current = current.left;
   } else {
    current = current.right;
   }

   if (current == null) {
    return null;
   }
  }

  return current;
 }

 public void insertNode(Node node) {
  if (root == null) {
   root = node;
  } else {
   Node current = root;
   Node parent;

   while (true) {
    parent = current;

    if (current.key > node.key) {
     current = current.left;

     if (current == null) {
      parent.left = node;
      return;
     }
    } else {
     current = current.right;

     if (current == null) {
      parent.right = node;
      return;
     }
    }
   }
  }
 }

 public void inOrder(Node current) {
  if (current != null) {
   inOrder(current.left);
   System.out.println(current);
   inOrder(current.right);
  }
 }

}

分享到:
评论

相关推荐

    java 二叉树实现

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

    二叉树的java实现

    二叉树的java实现

    二叉树可视化Java语言实现(完整版,打开即可运行)

    在这个Java实现中,我们可以看到一个完整的二叉树可视化系统,包括四个关键的Java源文件:BinaryNode、Show1_12、Display_Tree和TreeControl。 1. **BinaryNode.java**: 这个文件代表二叉树的基本节点。在Java中,...

    java 二叉树新增删除

    5. **Java实现**: - 在Java中,我们可以使用类来表示二叉树节点,包含节点值、左子节点和右子节点属性。我们可以创建对应的`insert`、`delete`和`traverse`方法来执行这些操作。 - 对于遍历,可以使用递归或迭代...

    java二叉树算法(转)

    这篇博客"java二叉树算法(转)"可能会探讨如何在Java中实现和操作二叉树,特别是涉及算法的部分。二叉树通常用于搜索、排序和组织数据,其特性是每个节点最多有两个子节点,通常分为左子节点和右子节点。 二叉树的...

    Java实现二叉树的遍历

    java实现二叉树非递归前序中序后序遍历

    java二叉树

    在Java中,虽然标准库没有内置的二叉树类,但我们可以自定义类来实现。以下是对"java二叉树"这个主题的详细解析。 首先,我们要理解二叉树的基本操作: 1. 插入节点:在二叉树中插入新节点时,需要遵循二叉树的...

    java简单实现二叉树

    ### Java简单实现二叉树知识点解析 #### 一、二叉树基本概念 二叉树是一种树形数据结构,其中每个节点最多有两个子节点,通常称为左子节点和右子节点。二叉树在计算机科学中有着广泛的应用,如搜索算法、排序算法...

    利用二叉树实现多项式计算

    标题“利用二叉树实现多项式计算”明确指出本文将探讨如何通过构建二叉树来实现对多项式的运算处理。 #### 描述解读: 描述部分提到该资源为txt文本,内容包括实现思路与具体代码实现,仅供学习参考使用,不得用于...

    java二叉树的实现

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

    Java二叉树中序遍历

    本课程设计将详细介绍如何使用Java编程语言实现二叉树的中序遍历。 首先,我们先构建二叉树的节点类(Node),它包含一个数据字段(data)以及指向左子节点(left)和右子节点(right)的引用: ```java public ...

    java实现的二叉树源码

    下面我们将详细讨论在给定的“java实现的二叉树源码”中涉及的知识点。 1. **节点(Node)**: 节点是二叉树的基本构建单元,通常包含两个子节点(左子节点和右子节点)以及一个存储数据的属性。在`Node.java`文件中,...

    java二叉树的前序+中序+后序遍历

    java实现 二叉树的遍历 前序遍历用到递归, 中序和后序遍历用到栈, 其实还是有一定难度的

    java实现二叉树最佳方法

    总之,Java实现二叉树的最佳方法依赖于对二叉树性质的深入理解以及对Java语言特性的熟练应用。递归构建和遍历是实现二叉树的两个核心方面,它们共同构建了复杂二叉树算法的基石。在实际应用中,还需要考虑树结构的...

    Java二叉树算法实例.zip_java 二叉树_二叉树

    "1.txt"可能是一段Java代码,演示了如何实现二叉树的创建、遍历或其他操作。"www.pudn.com.txt"可能是资源链接或说明文档,引导用户访问更多相关资料。 总之,这个Java二叉树算法实例教程将帮助初学者深入理解...

    java实现二叉树程序

    java用队列实现的二叉树程序//入队 public void enqueue(E e); //出队 public E dequeue(); //取队列第一个 public E front(); //队列是否为空 public boolean isEmpty(); //队列大小 public int size...

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

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

    Java 二叉树(生成与遍历)

    本项目提供了Java实现二叉树的相关代码,帮助你理解和操作这种数据结构。 首先,我们要了解二叉树的基本概念。二叉树可以分为几种类型:满二叉树(每个节点要么没有子节点,要么有左右两个子节点)、完全二叉树...

    Java实现二叉树的基本操作

    以上就是Java实现二叉树的基本操作的详细讲解,这些操作对于理解和应用数据结构在实际问题中非常重要。在Java中,二叉树的实现可以帮助我们解决许多算法问题,例如搜索、排序、路径查找等。通过熟练掌握这些操作,...

    java使用jtree动态实现二叉树

    在Java中动态实现二叉树,即在运行时根据需要创建、更新和操作树结构,这涉及到对数据结构和Swing组件的深入理解。 首先,二叉树是一种特殊的树形数据结构,每个节点最多有两个子节点,分别称为左孩子和右孩子。...

Global site tag (gtag.js) - Google Analytics