二叉树法插入查找例子

转载 2012年03月26日 09:43:50
Java代码 复制代码 收藏代码
  1. public class BinaryTree {   
  2.     public static void main(String[] args) {   
  3.         BinaryTree bt = new BinaryTree();   
  4.         int[] ints = {12,123,21,123,1,432,23,42,3,123,124,3,5435,66,456554,435,423,42,1} ;   
  5.         for (int i = 0; i <ints.length  ; i++) {   
  6.             bt.add(new Node(ints[i])) ;   
  7.         }   
  8.         bt.toPrint() ;   
  9.     }   
  10.   
  11.     private Node root;   
  12.   
  13.     public void add(Node n) {   
  14.         if(root==null){   
  15.             root = n ;   
  16.             return ;   
  17.         }else{   
  18.             add(root , n) ;   
  19.         }   
  20.            
  21.            
  22.     }   
  23.        
  24.     public void toPrint(){   
  25.         toPrint(root) ;   
  26.     }   
  27.        
  28.     private void toPrint(Node n){   
  29.         if(n.getLeft()!=null){   
  30.             toPrint(n.getLeft()) ;   
  31.         }   
  32.         System.out.println(n.getValue());   
  33.         if(n.getRight()!=null){   
  34.             toPrint(n.getRight()) ;   
  35.         }   
  36.     }   
  37.        
  38.     public void add(Node f , Node n){   
  39.         if(f.getValue()==n.getValue()){   
  40.             return  ;   
  41.         }   
  42.         if(f.getValue()>n.getValue()){   
  43.             if(f.getLeft()!=null){   
  44.                 add(f.getLeft(),n) ;   
  45.             }else{   
  46.                 f.setLeft(n) ;   
  47.             }   
  48.         }else{   
  49.             if(f.getRight()!=null){   
  50.                 add(f.getRight(),n) ;   
  51.             }else{   
  52.                 f.setRight(n) ;   
  53.             }   
  54.         }   
  55.     }   
  56.   
  57. }   
  58.   
  59. class Node {   
  60.     public Node(int value) {   
  61.         this.value = value;   
  62.     }   
  63.   
  64.     private Node left;   
  65.     private Node right;   
  66.     private int value;   
  67.   
  68.     public Node getLeft() {   
  69.         return left;   
  70.     }   
  71.   
  72.     public void setLeft(Node left) {   
  73.         this.left = left;   
  74.     }   
  75.   
  76.     public Node getRight() {   
  77.         return right;   
  78.     }   
  79.   
  80.     public void setRight(Node right) {   
  81.         this.right = right;   
  82.     }   
  83.   
  84.     public int getValue() {   
  85.         return value;   
  86.     }   
  87.   
  88.     public void setValue(int value) {   
  89.         this.value = value;   
  90.     }   
  91.   
  92. }

查找算法(顺序查找、二分法查找、二叉树查找、hash查找)

http://student.zjzk.cn/course_ware/data_structure/web/chazhao/chazhao9.3.1.5.htm 查找功能是数据处...
  • lishenglong666
  • lishenglong666
  • 2016年05月10日 10:35
  • 2991

二叉树遍历、插入、删除等常见操作

1.二叉查找树的创建 2.二叉查找树清空 3.二叉查找树查询 4.查找最大值、最小值 5.二叉查找树插入操作 6.二叉查找树的删除操作 7.分别使用非递归和递归方式(部分用多种方式)实现树的先序遍历、...
  • u013074465
  • u013074465
  • 2014年12月03日 17:27
  • 7158

平衡二叉查找树(AVL)的查找、插入、删除

1.平衡二叉查找树
  • lpp0900320123
  • lpp0900320123
  • 2014年09月18日 10:46
  • 5279

C++实现二叉树的插入、删除、查询、遍历

1.二叉树的概念        树是一些节点的集合,节点之间用边链接,节点之间不能有环路。上层的节点称为父节点,下层节点称为子节点。最上层的节点称为根节点。       二叉树是特殊的树。对于每个节点...
  • u014182411
  • u014182411
  • 2017年04月09日 16:30
  • 2453

二叉树查找之python实现--(插入)

借维基百科的话来说就是二叉树就是一种每个节点最多有两个子树的树结构。但是今天讨论的是二叉查找树,这个查找树就是二叉树的一种延伸吧,加了几条限制就变成了二叉查找树。 下面我们来看看二叉查找树有什么性质...
  • djd1234567
  • djd1234567
  • 2015年05月13日 23:35
  • 2202

查找算法(顺序查找、二分法查找、二叉树查找、hash查找)

查找功能是数据处理的一个基本功能。数据查找并不复杂,但是如何实现数据又快又好地查找呢?前人在实践中积累的一些方法,值得我们好好学些一下。我们假定查找的数据唯一存在,数组中没有重复的数据存在。 ...
  • qq819853294
  • qq819853294
  • 2013年09月12日 15:49
  • 7987

数据结构与算法之二叉搜索树插入、查询与删除

1 二叉搜索树(BSTree)的概念二叉搜索树又被称为二叉排序树,那么它本身也是一棵二叉树,那么满足以下性质的二叉树就是二叉搜索树: 1、若左子树不为空,则左子树上左右节点的值都小于根...
  • chenliguan
  • chenliguan
  • 2016年10月28日 15:11
  • 1176

二叉查找树的查找、插入、删除、释放等基本操作的实现(C语言)

二叉查找树是一种特殊性质的二叉树,该树中的任何一个节点,它的左子树(若存在)的元素值小于节点的元素值,右子树(若存在)的元素值大于节点的元素值。 实现了二叉树查找树的实现以及基本操作,包括查找、插入、...
  • mcu_tian
  • mcu_tian
  • 2016年06月14日 11:31
  • 3270

二叉树, 二叉查找树,二分查找算法

二叉树二叉树跟树有区别,最大的一点就是:树的度没有限制,而二叉树最多则不能超过2个度基础二叉树由结点组成,结点包含的链接可以为空( null)或者指向其他结点,在二叉树中,每个结点只能有一个父结点(只...
  • JonsTank2013
  • JonsTank2013
  • 2016年03月15日 13:05
  • 2864

查找算法 之 二叉查找树

动态查找技术一般用树来存储查找集合,如二叉查找树。而二叉查找树的查找效率又与自身形态密切相关,需要对二叉查找树平衡化,保持其查找高效。本文就二叉查找树和平衡二叉树作简单介绍和分析以及对查找二叉树、AV...
  • whucyl
  • whucyl
  • 2013年12月04日 12:10
  • 9347
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二叉树法插入查找例子
举报原因:
原因补充:

(最多只允许输入30个字)