索引几种算法

数据库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++;
            }
      //  }
    }


}



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值