索引几种算法

数据库mysql索引:使用B树索引

下面介绍一下B树索引:


Lucene全文检索使用:二分查找

下面介绍一下二分查找:

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列;

1、时间复杂度:因为每次的查找都会比上一次少一半的范围,时间复杂度为O(log n).

2、二分法必须事先经过排序,且数据量必须直接在内存中执行

3、此法用于不需要增删的静态数据

简单举例

public class TestTwoSearch {
    public static void main(String[] args) {
        test1(4);
    }
    public static void test1(int qNum){
        int l = 0;
        int r = 100;
        int mid = 0;
        int idx = 0;
            while (l < r) {

                mid = (l + r) / 2;
                if (qNum < mid) {
                    r = mid;
                } else if (qNum == mid) {
                    System.out.println("目标" + qNum + "已经找到,查找了"+idx+"次");
                    break;
                } else {
                    l = mid;
                }
                System.out.println("左边:" + l + "--中间:"+mid+"--右边:"+r);
                idx++;
            }
      //  }
    }


}



猜你喜欢

转载自blog.csdn.net/friends99/article/details/80019180