查找算法中的二分法是这样定义的(查找算法)
2022-09-20 02:02:08
•
来源:
导读 大家好,今天小六子来为大家解答以下的问题,关于查找算法中的二分法是这样定义的,查找算法这个很多人还不知道,现在让我们一起来看看吧!1
大家好,今天小六子来为大家解答以下的问题,关于查找算法中的二分法是这样定义的,查找算法这个很多人还不知道,现在让我们一起来看看吧!
1、二分法平均查找效率是O(logn),但是需要数组是排序的。
2、如果没有排过序,就只好先用O(nlogn)的预处理为它排个序了。
3、而且它的插入比较困难,经常需要移动整个数组,所以动态的情况下比较慢。
4、哈希查找理想的插入和查找效率是O(1),但条件是需要找到一个良好的散列函数,使得分配较为平均。
5、另外,哈希表需要较大的空间,至少要比O(n)大几倍,否则产生冲突的概率很高。
6、二叉排序树查找也是O(logn)的,关键是插入值时需要做一些处理使得它较为平衡(否则容易出现轻重的不平衡,查找效率最坏会降到O(n)),而且写起来稍微麻烦一些,具体的算法你可以随便找一本介绍数据结构的书看看。
7、当然,如果你用的是c语言,直接利用它的库类型map、multimap就可以了,它是用红黑树实现的,理论上插入、查找时间都是O(logn),很方便,不过一般会比自己实现的二叉平衡树稍微慢一些。
本文分享完毕,希望对你有所帮助。
免责声明:本文由用户上传,如有侵权请联系删除!
标签: