数据结构和算法之 查找

线性表查找算法

顺序查找

折半查找(线性表必须是已经排序好的)

 1     /**折半查找
 2      * @param obj
 3      * @param value
 4      */
 5     public static void  halfSort(int[] obj,int value){
 6         int len=obj.length;//获取数组的长度
 7         int min=0;
 8         int max=len-2;
 9         while (min<=max) {
10             int middle=(min+max)/2;//获取数组中间元素的下标
11             if(obj[middle]==value){
12                 System.out.println("zhaodao");
13                 return ;
14             }
15             else if (obj[middle]>value) {
16                 max=middle-1;    }
17             else{
18                 min=middle+1;
19                         }
20                          System.out.println("zhaodao失败");
21         }
折半查找

二叉查找树()

1若它的左子树非空,则左子树上所有结点的值均小于根结点的值

2若它的右子树非空,则右子树上所有结点的值均大于于根结点的值

3左右子树本身又是一颗二叉查找树

中序遍历二叉查找树所得的中序遍历序列是一个递增序列(左中右)

posted on 2015-09-10 19:34  Longevity  阅读(138)  评论(0编辑  收藏  举报