查找算法
一、顺序查找
1、查找条件
有序或无序数组
2、算法描述
按顺序依次比较每个关键字,直到查到为止。
3、平均时间复杂度
O(n)
二、折半查找
1、查找条件
有序
2、算法描述
假设数据是按升序排序的,对于给定值key,从序列的中间位置k开始比较,如果当前位置arr[k]值等于key,则查找成功;若key小于当前位置值arr[k],则在数列的前半段中查找,arr[low,mid-1];若key大于当前位置值arr[k],则在数列的后半段中继续查找arr[mid+1,high],直到找到为止
3、平均时间复杂度
O(log2(n))
三、二叉排序树查找
1、查找条件
二查排序树
2、算法描述
若b是空树,则搜索失败,若x等于b的根节点的数据域之值,则查找成功;若x小于b的根节点的数据域之值,则搜索左子树反之查找右子树。
3、平均时间复杂度
O(log2(n))
四、哈希查找
1、查找条件
哈希表
2、算法描述
根据键值方式(Key value)进行查找,通过散列函数,定位数据元素。
3、平均时间复杂度
O(1)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步