导读 您好,今天小编胡舒来为大家解答以上的问题。python二分查找算法,查找算法相信很多小伙伴还不知道,现在让我们一起来看看吧!1、二分法平均...

您好,今天小编胡舒来为大家解答以上的问题。python二分查找算法,查找算法相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、二分法平均查找效率是O(logn),但是需要数组是排序的。

2、如果没有排过序,就只好先用O(nlogn)的预处理为它排个序了。

3、而且它的插入比较困难,经常需要移动整个数组,所以动态的情况下比较慢。

4、哈希查找理想的插入和查找效率是O(1),但条件是需要找到一个良好的散列函数,使得分配较为平均。

5、另外,哈希表需要较大的空间,至少要比O(n)大几倍,否则产生冲突的概率很高。

6、二叉排序树查找也是O(logn)的,关键是插入值时需要做一些处理使得它较为平衡(否则容易出现轻重的不平衡,查找效率最坏会降到O(n)),而且写起来稍微麻烦一些,具体的算法你可以随便找一本介绍数据结构的书看看。

7、当然,如果你用的是c语言,直接利用它的库类型map、multimap就可以了,它是用红黑树实现的,理论上插入、查找时间都是O(logn),很方便,不过一般会比自己实现的二叉平衡树稍微慢一些。

本文就为大家分享到这里,希望小伙伴们会喜欢。