`
ansjsun
  • 浏览: 203159 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

二叉树法插入查找例子

 
阅读更多
二分法查找...查找...

代码比较简单...没有注释了


public class BinaryTree {
	public static void main(String[] args) {
		BinaryTree bt = new BinaryTree();
		int[] ints = {12,123,21,123,1,432,23,42,3,123,124,3,5435,66,456554,435,423,42,1} ;
		for (int i = 0; i <ints.length  ; i++) {
			bt.add(new Node(ints[i])) ;
		}
		bt.toPrint() ;
	}

	private Node root;

	public void add(Node n) {
		if(root==null){
			root = n ;
			return ;
		}else{
			add(root , n) ;
		}
		
		
	}
	
	public void toPrint(){
		toPrint(root) ;
	}
	
	private void toPrint(Node n){
		if(n.getLeft()!=null){
			toPrint(n.getLeft()) ;
		}
		System.out.println(n.getValue());
		if(n.getRight()!=null){
			toPrint(n.getRight()) ;
		}
	}
	
	public void add(Node f , Node n){
		if(f.getValue()==n.getValue()){
			return  ;
		}
		if(f.getValue()>n.getValue()){
			if(f.getLeft()!=null){
				add(f.getLeft(),n) ;
			}else{
				f.setLeft(n) ;
			}
		}else{
			if(f.getRight()!=null){
				add(f.getRight(),n) ;
			}else{
				f.setRight(n) ;
			}
		}
	}

}

class Node {
	public Node(int value) {
		this.value = value;
	}

	private Node left;
	private Node right;
	private int value;

	public Node getLeft() {
		return left;
	}

	public void setLeft(Node left) {
		this.left = left;
	}

	public Node getRight() {
		return right;
	}

	public void setRight(Node right) {
		this.right = right;
	}

	public int getValue() {
		return value;
	}

	public void setValue(int value) {
		this.value = value;
	}

}


分享到:
评论

相关推荐

    二叉树的具体实现例子

    实际内容可能包括创建不同类型的二叉树,如满二叉树或平衡二叉树,并进行插入、查找和删除等操作的示例代码。在学习时,你可以分析这些代码,理解它们的工作原理,并尝试自己编写和测试不同的二叉树操作。 总结起来...

    二叉树查找算法实现例子程序

    BinarySearchTree 类包含了插入方法 insert 和查找方法 search。insert 方法用于向树中插入新的节点,search 方法用于查找指定值的节点。

    JAVA二叉树课设可以实现用户输入数据以二叉树图形表示出来

    5. **测试数据**:提供预设的测试数据以验证程序功能的正确性,如插入、删除、查找和遍历的具体例子。 【总结】 在给定的Java二叉树课程设计中,我们需要理解二叉树的概念,熟悉其性质和操作,以及如何在Java中实现...

    二叉树的操作建立删除

    二叉树是一种重要的数据结构,它在计算机科学中扮演着至关重要的角色,特别是在算法和数据存储方面。...通过实际操作这些例子,读者可以更好地掌握二叉树的建立、插入和删除等基本操作,并提升编程能力。

    数据结构 C++ 详细注释 二叉树的种种操作练习6例子.rar

    这个压缩包"数据结构 C++ 详细注释 二叉树的种种操作练习6例子.rar"提供了六个C++编程实例,旨在帮助学习者深入理解和掌握二叉树的各种操作。下面我们将详细探讨这些知识点。 首先,二叉树是一种特殊的树形数据结构...

    二叉树生成

    ### 二叉树生成知识点详解 #### 一、二叉树基本...通过这个例子,我们可以了解到二叉树的基本概念、节点结构、插入逻辑以及遍历方法。这些基础知识对于理解更复杂的树形结构如平衡二叉搜索树、红黑树等非常有帮助。

    二叉树创建及其基本操作C++.zip

    本资源包“二叉树创建及其基本操作C++.zip”提供了关于二叉树创建和基本操作的实例,包括节点的增加、删除、查找和修改,以及线索二叉树的概念。下面将详细阐述这些知识点。 二叉树是一种非线性数据结构,每个节点...

    java算法二叉树

    在Java编程语言中,二叉树是一种非常重要的数据结构,它由节点组成,每个节点包含...此外,二叉树的插入、删除和查找操作都需要深入理解二叉树的性质和结构。学习和熟练掌握这些知识对于成为专业的Java程序员至关重要。

    数据结构线索二叉树严蔚敏

    在众多的数据结构类型中,线索二叉树是一种特殊形式的二叉搜索树,主要用于提高对二叉树的遍历效率,特别是对于查找前驱和后继节点。这个主题与严蔚敏教授的教材《数据结构》紧密相关,这是一本在中国计算机科学教育...

    C语言编程实现10个数据结构课程设计实例-二叉树建立遍历冒泡排序快速排序等.zip

    10个数据结构课程设计例子 查找.c 二叉排序树.c 二叉树层次遍历.c 二叉树非递归遍历.c 二叉树建立.c 快速排序.c 括号匹配.c 冒泡排序.c 直接插入排序.c 直接选择排序.c 10个数据结构课程设计例子 查找.c 二叉排序树....

    10个数据结构课程设计实例二叉树建立遍历冒泡排序快速排序等.zip

    10个数据结构课程设计例子 查找.c 二叉排序树.c 二叉树层次遍历.c 二叉树非递归遍历.c 二叉树建立.c 快速排序.c 括号匹配.c 冒泡排序.c 直接插入排序.c 直接选择排序.c 10个数据结构课程设计例子 查找.c 二叉排序树...

    二叉树相关

    在"BinaryTreePractice"这个压缩包中,可能包含了实现以上概念的练习代码和例子,可以帮助你更好地理解和掌握二叉树的相关知识。通过实践这些代码,你可以加深对二叉树遍历、构建以及查找和操作的理解,并提升算法...

    matlab.rar_matlab 二叉树_matlab二叉树_二叉树_二叉树 matlab_二叉树MATLAB

    对于平衡二叉树,如AVL树和红黑树,还需要额外的平衡策略来确保树的高度保持最小,以优化查找性能。 在压缩包文件`matlab.txt`中,可能包含了具体的二叉树实现代码或者更详细的说明,例如不同的二叉树类型(如满...

    二叉树 txt jq

    在这个例子中使用的是中序遍历来输出二叉树中的元素: ```c void inorder(tree t) { if (t) { inorder(t-&gt;lchild); // 先遍历左子树 printf("%d ", t-&gt;data); // 然后访问根节点 inorder(t-&gt;rchild); // 最后...

    数据结构二叉树的应用实例

    同时,为了方便操作,还可以扩展类的功能,比如添加插入、删除、查找等方法。 在实际应用中,二叉树可以用来解决各种问题。例如,在信号放大器的设置问题中,可以将分布网络抽象成一个二叉树,其中每个非根节点代表...

    二叉树mfc实现

    在二叉树的例子中,`CDocument`可以包含`CBinaryTree`对象,而`CView`则负责将树的结构绘制到窗口上,或者提供交互式界面供用户进行插入、删除和搜索操作。 6. **对话框**:MFC提供了`CDialog`类来实现对话框,用户...

    二叉树建立遍历

    在实际应用中,二叉树遍历算法不仅限于简单的打印节点值,还可以用于查找、插入、删除等操作。例如,在二叉搜索树中,中序遍历可以快速找到一个特定的元素;而在构建表达式树时,后序遍历可以帮助我们求解表达式的值...

    数据结构二叉树的创建

    在实际应用中,二叉树的创建可能还包括插入新节点、平衡调整(如AVL树和红黑树)、遍历(前序、中序、后序)等操作。这些操作都需要对二叉树的性质有深入理解,并能灵活运用指针和引用。 总结起来,二叉树的创建...

    二叉树的层次遍历 vc++控制台程序

    1. **二叉树基本操作类**:这个类通常包含创建、插入、删除、查找等基本操作。例如,一个简单的二叉树节点可能包含一个值、指向左子节点和右子节点的指针。在C++中,可以定义一个名为`BinaryTreeNode`的结构体或类来...

    数据结构 二叉树

    插入操作涉及将新节点添加到二叉树中,同时保持二叉搜索树的性质不变。新节点总是作为叶子节点插入,具体位置取决于其键值与现有节点键值的关系。 #### 2.3 删除 删除操作相对复杂,因为它涉及到维持二叉搜索树的...

Global site tag (gtag.js) - Google Analytics