查找算法

一、顺序查找

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)

五、思维导图

 
posted on 2020-07-22 10:22  天高任鸟飞,海阔任鱼游  阅读(124)  评论(0编辑  收藏  举报