小规模:顺序查找O(n)
中规模:二分查找O(logn) :每次折半
大规模:插值查找O(loglogn) :每次位数折半,从原来的logn变成1/2 log(n)
理由:
小规模时,n即可。
中规模时,logn 和loglogn相差不大,但是后者需要计算比例,引入了乘除算法;
大规模时,loglogn较为合适
实际可行:
大规模时先用插值查找,将目标规模缩小至中规模,后用二分查找即可。
注意:
插值查找的前提:均匀独立分布!
小规模:顺序查找O(n)
中规模:二分查找O(logn) :每次折半
大规模:插值查找O(loglogn) :每次位数折半,从原来的logn变成1/2 log(n)
理由:
小规模时,n即可。
中规模时,logn 和loglogn相差不大,但是后者需要计算比例,引入了乘除算法;
大规模时,loglogn较为合适
实际可行:
大规模时先用插值查找,将目标规模缩小至中规模,后用二分查找即可。
注意:
插值查找的前提:均匀独立分布!