Search

Search

利用排序的方法实现满足不同条件的查找

本文主要介绍以下几种查找方法。

  1. 线性表的查找
  2. 二叉树的插入生成及查找
  3. B树的插入生成及查找
  4. 散列函数的构造及查找

1.线性表的查找

主要分为顺序查找,二分,分块三种。

顺序查找

Search_第1张图片

二分查找

Search_第2张图片
package search;

public class BinarySearch {
    boolean binarySearch(int[] a,int value){
        int left=0;
        int right=a.length-1;
        int middle;
        while(lefta[middle]){
                left=middle+1;
            }else{
                System.out.println(middle);
                return true;
            }
        }
        return false;
    }
}

分块查找

Search_第3张图片

2.二叉排序树

二分查找是适用于静态查找表。若要对动态查找表进行高效率的查找,最好使用二叉排序树。

代码:

http://www.cnblogs.com/skywang12345/p/3576452.html

3.B树

Search_第4张图片
Search_第5张图片
Search_第6张图片

4.散列

碰撞处理方法:

  • 开放地址
  • 拉链
  • 差值

你可能感兴趣的:(Search)