计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

计数查找算法的研究网(2)

2013-05-25 01:13
导读:该算法得时间复杂度为O(6.09*N) [5] ,与Count-Search算法相比较可知:Count-Search算法具有更好的时间复杂度。 4 算法测试与比较 为了证实上述结论,在ACER Tra
  该算法得时间复杂度为O(6.09*N)[5],与Count-Search算法相比较可知:Count-Search算法具有更好的时间复杂度。

4  算法测试与比较

    为了证实上述结论,在ACER TravelMate 2420 (PM730,512M内存,80G硬盘),Windows XP 平台上编写了三种查找算法的子程序,进行了相应的实验测定,其结果如表1 所示。(实验数据全部采用均分布的无符号整型随机数) 表1
    注:以上时间单位为毫秒MS。     根据以上数据我们可以绘制出数据规模和时间的函数图像。

    观察分析以上实验结果,可以看出:基于快速排序的查找算法和其他算法相比较具有较差的效率;而采用了分治策略的Divide- Select查找算法的效率可以是基于快速排序的查找算法的几十倍,其时间复杂度在图中也反映为线性。而基于计数排序的查找算法(Count-Search)的时间复杂度同样达到了线性,但是效率却比Divide-Select更高,通过上述实验可以得知:在进行无符号整数查找时,基于计数排序的查找算法(Count-Search)在时间上是最优的。

5  Count-Search的应用范围

    在查找无符号整数集合时,应用Count-Search算法,能够降低查找时间复杂度。但是应用Count-Search算法时要注意:该算法只适用于整数的查找,且查找集合S的最大值M与S中元素个数N不成指数关系,即M不能远大于N。因为当M过大时,首先内存开销就会很大,其次时间复杂度也会相应的提高。     该算法充分的运用了整数的特性,整个运算过程中无需数据的比较和交换,大大降低了算法的时间复杂度,因此该算法可以在工程统计中得到大规模运用。例如:随着的和应用,网络中的信息量成倍的扩大,而在其中我们关注的最多的则是统计排名比较靠前的信息,如果将全部过亿的统计量排序,则由于数据量过大,则会浪费大量的时间和资源。而采用Count-Search的查找算法,就可在线性的时间完成。

6  结束语

    本文中提出的一种基于计数排序算法的整数查找算法,该算法在运算过程中无需进行数据的比较和交换,该算法可以应用到大规模的整数查找,算法的时间复杂度很低,而且避免的大量的数据比较和交换,同时在时间上是最优的。

[1]崔泽鹏,李伟生. EREW  PRAM模型上指数级分割待处理数据集的并行多选算法[J].北方大学学报,2003,(2):46-49 [2]班志杰,高光来. 一种Byte查找第K个元素的算法研究[J]. 内蒙古大学学报,2004,(3):322-324 [3]Thomas H.Cormen  Charles E.Leiserson. 《算法导论》[M]. 北京:机械出版社。2006.9:98-99 [4]Muhammad H.Alsuwaiyel.  An optimal parallel algorithm for the multiselection problem[J].  Parallel Computing,2001,(27):861—865 [5]江华. 求第K个元素的快速排序算法[J]. 韶关学院报,2003,(6):32-34 [6]王晓东.《算法设计与分析》[M] .北京:清华大学出版社,2003.1:39-43
上一篇:浅谈粒度计算网 下一篇:基于区分链表的属性约简改进算法