分类:静态查找表、动态查找表
为了提高查找的效率,需要转么为查找操作是指数据结构,这种面向查找操作的数据结构成为查找结构。
一、顺序查找表(线性表)
1、for循环多次比较
2、while循环,减少比较次数(i<=n)
时间复杂度O(n)
缺点:n很大时朝赵效率极为地下
优点:算法简单,对静态查找表的记录灭有任何要求。
适合:小型数据的查找时适用。
二、有序查找表(二叉树)
1、折半查找(二分法查找)
前提:线性表中的记录柏旭是关键码有序(通常从小到大有序),线性表柏旭采用顺序存储。
基本思想:略
时间复杂度:O(logn)。完全二叉树的深度为[logn]+1,远远浩宇顺序查找的O(n)。
2、插值查找
插值:在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。
插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。插值:用来填充图像变换时像素之间的空隙。
插值查找是根据要查找的关键字key与查找表中最大最小记录的关键字比较后的查找方法,其核心就在于插值的计算公式,如上。
适用:表长较大,关键字分布比较均匀的查找表。
不适用:分布极端不均匀的查找表。