永发信息网

各种查找算法的比较?

答案:3  悬赏:10  手机版
解决时间 2021-01-23 19:38
各种查找算法的比较?
最佳答案
二分:要求待查找序列是排完序的,即是有序的序列。
哈希:能够比较好的解决位置冲突的情况下哈希查找都是比较快速的。主要是hash函数的选择。
二叉排序树:如果树比较平衡的情况下,这种查找的复杂度是log(n),但是如果很偏,比如一直都只插入左儿子节点(这样就和链表一样了),那么就比较糟糕了。
全部回答
要根据具体情况来分析
数据量的大小,数据散列特征,查找效率要求等都会影响算法选择
如果有兴趣,可以看看算法导论等算法研究书籍。
二分法平均查找效率是O(logn),但是需要数组是排序的。如果没有排过序,就只好先用O(nlogn)的预处理为它排个序了。而且它的插入比较困难,经常需要移动整个数组,所以动态的情况下比较慢。
哈希查找理想的插入和查找效率是O(1),但条件是需要找到一个良好的散列函数,使得分配较为平均。另外,哈希表需要较大的空间,至少要比O(n)大几倍,否则产生冲突的概率很高。
二叉排序树查找也是O(logn)的,关键是插入值时需要做一些处理使得它较为平衡(否则容易出现轻重的不平衡,查找效率最坏会降到O(n)),而且写起来稍微麻烦一些,具体的算法你可以随便找一本介绍数据结构的书看看。当然,如果你用的是c语言,直接利用它的库类型map、multimap就可以了,它是用红黑树实现的,理论上插入、查找时间都是O(logn),很方便,不过一般会比自己实现的二叉平衡树稍微慢一些。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
翡翠艺术学校地址在什么地方,我要处理点事!
洗衣机洗一会儿就停了,怎么回事?
香港和澳门分别在________和________时间回归
优博文化艺术培训中心地址在什么地方,我要处
制造费用和生产成本的区别,为什么期间费用没
怎样提高手机的来电铃声音量?
台北新娘婚纱(莱茵店)地址在什么地方,我要处
单选题下列说法不正确的是A.燃料充分燃烧,可
冻了的马铃薯为什么吃起来很甜?
音韵阁艺术培训地址在什么地方,想过去办事,
额头上长了一个小胞,不知道是什么?一按就疼
山东商务职业学院济南校区。 有单招吗,分数
艺虹相馆(蜀南大道西段)地址在什么地方,想过
风鹰围棋教室地址在什么地方,想过去办事,
我是怎样成功面试阿联酋航空
推荐资讯
下列溶液一定属于碱溶液的是A.能和酸反应的溶
清华英语(许昌襄城县)地址好找么,我有些事要
如何苹果系统取消电脑管理员
按亚洲的地理分区,日本和中国都属于A.中亚地
一辆汽车5小时行驶了350千米,照这样的速度,
从宜宾到重庆坐船逆水而上先到哪个峡
用科学记数法表示-0.0000529,下列表示正确的
我读初三 住宿 每天要慢跑至少2.2千米 每次跑
欧普照明(安仁旗舰店)地址在什么地方,想过去
多伦三中地址在哪,我要去那里办事,
有这样一组数:40.1,40.2,40.3,40.4…其中
关于switch 的题目,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?