`
- 浏览:
32997 次
- 性别:
- 来自:
济南
-
code:
/**
*
*/
package com.algorithms;
/**
* @author oracle
*
*/
class BinaryNode {
private int id;
private BinaryNode left;
private BinaryNode right;
public BinaryNode() {
}
// composite模式实现binay tree
//
// public void addNode(BinaryNode node) {
// if (node.getId() > id) {
// if (left == null)
// this.left = node;
// else
// this.left.addNode(node);
// } else {
// if (right == null)
// this.right = node;
// else
// this.right.addNode(node);
// }
//
// }
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public BinaryNode getLeft() {
return left;
}
public void setLeft(BinaryNode left) {
this.left = left;
}
public BinaryNode getRight() {
return right;
}
public void setRight(BinaryNode right) {
this.right = right;
}
}
public class BinaryTree {
// 添加一个节点到二叉树
// 下面的代码显示一个对象的名字相当于指向一个对象的handle
public static void addNode(BinaryNode root, BinaryNode node) {
BinaryNode newnode = root;
while (newnode != null) {
if (newnode.getId() < node.getId()) {
if (newnode.getLeft() == null) {
newnode.setLeft(node);
newnode = null;
} else {
newnode = newnode.getLeft();
}
} else {
if (newnode.getRight() == null) {
newnode.setRight(node);
newnode = null;
} else
newnode = newnode.getRight();
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
BinaryNode root = new BinaryNode();
root.setId(50);
BinaryNode one = new BinaryNode();
one.setId(80);
BinaryTree.addNode(root, one);
BinaryNode two = new BinaryNode();
two.setId(40);
BinaryTree.addNode(root, two);
BinaryNode three = new BinaryNode();
three.setId(90);
BinaryTree.addNode(root, three);
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
标题"C#资源库-binarytree"指的是一个使用C#编程语言实现的二叉树数据结构的代码库。在软件开发中,二叉树是一种基础且重要的数据结构,它由节点构成,每个节点最多有两个子节点,通常称为左子节点和右子节点。这种...
二叉树是一种重要的数据结构,它在计算机科学中扮演着至关重要的角色,特别是在算法和...在二叉树的`BinaryTree`文件中,可能会包含这些操作的具体实现,通过阅读和理解这些代码,可以深入学习和掌握二叉树的相关知识。
Construct Binary Tree from Preorder and Inorder Traversal 根据先序,中序建立二叉树
二叉树是一种在计算机科学中广泛使用的数据结构,它的每个节点最多有两个子节点,通常称为左子节点和右...解压“binarytree.rar”,查看其中的文件,理解数据结构,并根据给定的描述编写代码,以实现二叉树的前序遍历。
【标题】:“BinaryTree-源码.rar”是一个与二叉树相关的源代码压缩包,它可能包含各种二叉树数据结构的实现,如二叉搜索树、平衡二叉树(AVL树或红黑树)或者自定义的二叉树结构。这个压缩包可能为学习数据结构与...
This is a binary tree search implementation.
在计算机科学中,二叉树(Binary Tree)是一种数据结构,每个节点最多有两个子节点,通常分为左子节点和右子节点。这种数据结构广泛应用于各种算法和问题解决,如搜索、排序、文件系统等。在C语言中实现二叉树,我们...
"Python-BinaryTree"是一个专门用于学习和操作二叉树的Python库,它提供了方便的API来创建、遍历和操作二叉树。 1. **二叉树的概念与类型** - 二叉树的基本概念:二叉树的每个节点包含一个值、一个指向左子树的...
在给定的“二叉树官方源码BinaryTree_src”中,我们可以找到一系列与二叉树相关的源代码文件,这为理解和实现二叉树提供了宝贵的参考资料。 首先,我们看到一个名为"BinaryTreeDemo.clw"的文件,这可能是项目的工作...
在"binaryTree"文件中,可能包含了不同类型的二叉树操作的代码示例,如创建、插入、删除、遍历等。 6. **二叉树的复杂度分析**: - 时间复杂度:二叉树的搜索、插入和删除操作的时间复杂度在最坏情况下可能达到O(n...
对于“心希盼 binaryTree.doc”文档,很可能是对这种使用STL实现二叉树的详细教程或示例代码,可能涵盖了如何构建二叉树、执行各种操作以及解决实际问题的实例。通过阅读和理解这份文档,开发者能够深入理解如何结合...
BinaryTree-BinaryTree
在这个"java-二叉树binaryTree"主题中,我们将深入探讨二叉树的实现、操作以及相关的算法。 在Java编程语言中,二叉树可以被表示为一个类,这个类通常包含指向左右子节点的引用,以及可能包含的数据。下面是一个...
BinaryTreeSort的java实现,简单的二叉树排序
在IT领域,二叉树(Binary Tree)是一种基础的数据结构,它由节点构成,每个节点最多有两个子节点,通常称为左子节点和右子节点。这个压缩包"Simple Binary Tree Class.zip"包含了实现简单二叉树类的相关文件,包括...
C++实现 操作函数包括先序、中序、后序遍历,求深度,深度、广度遍历 构建二叉树
本文将深入探讨如何用Java语言实现数据库中的二叉树查找,以"BinaryTree.java"为例,帮助你理解相关知识。 二叉树是由节点构成的数据结构,每个节点包含一个值以及最多两个子节点,分别称为左子节点和右子节点。...
二叉树(Binary Tree)是一种常见的数据结构,由一系列节点组成,每个节点包含左指针、右指针以及数据元素。在二叉树中,“根”指针指向树的最顶层节点,而左、右指针则递归地指向更小的“子树”。一个空指针代表没有...
在本项目"BinaryTree.zip"中,它通过Microsoft Foundation Classes (MFC)库实现了二叉树的可视化,使学习者能够直观地理解和操作二叉树。 MFC是微软为Windows应用程序开发提供的一套C++类库,它封装了Windows API,...
有序二叉树创建 有序二叉树查找 二叉树遍历 有序二叉树删除 类模版实现的有序二叉树