范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

计数查找算法研究精选论文

  摘要:查找第K大的元素的问题在计算机查找计数中占有很重要的地位。若直接进行排序,则算法平均时间复杂度为O(N*Lg(N))。但是比较好的策略有求第K大的元素的经典算法——基于分治思想的Divide-Select[1][6],算法的时间复杂度为O(6.09*N)[5]。由于基于比较的排序算法在最坏的情况之下,都需要进行N*Lg(N)次比较[3],故本文提出了一种基于非比较算法的无符号整数查找算法——Count-Search(计数查找算法)。该算法应用于无符号整数的查找,算法的平均时间复杂度为O(2*N)。
  关键字:非比较;查找;排序;时间复杂度;计数;整数
  1算法的基本思想
  通常的排序算法在空间和时间复杂度一定的情况下的时间开销主要是关键字之间的比较和记录的移动。基于计数排序的查找算法(Count-Search)的实现在整个过程无需进行数据的比较,算法的时间复杂度为O(2*N)。该算法的基本原理是:
  根据无符号整数的大小可以和数组元素的下标对应的原则,在程序中可以用整数数组来储存元素的大小关系。对于一个大小为N的整型数组a[],对于每一个元素x,用数组中的元素a[x]记录下小于等于它的元素个数,当要找的是集合中第K个大的元素时,则只需找到该数组中第N-K+1小的元素。即只需要找到该数组中第一个大于或等于N-K+1的元素,该元素的下标即为第K大的数。
  该算法具体可以描述为:假设n个输入元素的每一个都是介于0到M之间的整数,此处M为某个无符号整数。
  (1)对于每一个输入的元素X,首先确定出等于X的元素个数。
  (2)对于每一个元素X,确定小于等于X的元素个数。
  (3)从数组首地址出发顺序查找到第一个小于等于K的元素,则该元素X即为所要查找的第K小的数,顺序查找到第一个小于等于N-K+1的元素,则该元素X即为所要查找的第K大的数。
  2计数查找算法的C语言实现(Count—Search)
  2.1数据结构的设计与程序
  2.2算法步骤分析
  第一步:第一行的初始化操作之后,在2-3行检查每一个输入元素。如果一个输入元素的值为i,即C[i]的值加1。于是在第3行之后,C[i]中存放了等于i的元素个数(整数i=0,1,…M)。
  第二步:在第4-8之后,C[i]存放了小于等于i的元素的个数。最后从数组C的首地址出发顺序查找第一个使得C[i]>=N-K+1的元素,则第K大的元素即为i。
  下图给出了Count-Search的运算过程:图1表示初始数组A,C。图2表示运行完程序2-3行,数组C中的元素C[i]存放的是数组A中等于i的元素个数。图3表示运行4-8行的结果,C中元素C[i]存放的是数组A中小于等于i的元素个数。例如查找该数组第3大的数,则由于C[2]=4>=3,故元素2即为所要查找的第3大的数。
  2.3时间复杂度分析
  程序2-3行时间复杂度为O(N),第4-8行时间复杂度为O(M),该算法的时间复杂度为T(n)=O(N+M)。如果数组A[]的最大值M与N成线形关系,即M=O(n),则其时间复杂度为T(n)=O(2N)。
  3Count-Search算法与Divide-Select算法的比较
  Divide-Select的`基本思想是:通过在线性的时间内找到一个划分基准,使得按这个基准所划分出的两个子数组的长度都至少为原数组的ξ倍(0<ξ<1是某个正常数),然后对子数组递归的调用Divide-Select算法,这样就可以在线性的时间内完成查找任务。[6]
  该算法得时间复杂度为O(6.09*N)[5],与Count-Search算法相比较可知:Count-Search算法具有更好的时间复杂度。
  4算法测试与比较
  为了证实上述结论,在ACERTravelMate2420(PM730,512M内存,80G硬盘),WindowsXP平台上编写了三种查找算法的子程序,进行了相应的实验测定,其结果如表1所示。(实验数据全部采用均分布的无符号整型随机数)
  注:以上时间单位为毫秒MS。
  根据以上数据我们可以绘制出数据规模和时间的函数图像。
  观察分析以上实验结果,可以看出:基于快速排序的查找算法和其他算法相比较具有较差的效率;而采用了分治策略的Divide-Select查找算法的效率可以是基于快速排序的查找算法的几十倍,其时间复杂度在图中也反映为线性。而基于计数排序的查找算法(Count-Search)的时间复杂度同样达到了线性,但是效率却比Divide-Select更高,通过上述实验可以得知:在进行无符号整数查找时,基于计数排序的查找算法(Count-Search)在时间上是最优的。
  5Count-Search的应用范围
  在查找无符号整数集合时,应用Count-Search算法,能够降低查找时间复杂度。但是应用Count-Search算法时要注意:该算法只适用于整数的查找,且查找集合S的最大值M与S中元素个数N不成指数关系,即M不能远大于N。因为当M过大时,首先内存开销就会很大,其次时间复杂度也会相应的提高。
  该算法充分的运用了整数的特性,整个运算过程中无需数据的比较和交换,大大降低了算法的时间复杂度,因此该算法可以在工程统计中得到大规模运用。例如:随着网络的发展和应用,网络中的信息量成倍的扩大,而在其中我们关注的最多的则是统计排名比较靠前的信息,如果将全部过亿的统计量排序,则由于数据量过大,则会浪费大量的时间和资源。而采用Count-Search的查找算法,就可在线性的时间完成。
  6结束语
  本文中提出的一种基于计数排序算法的整数查找算法,该算法在运算过程中无需进行数据的比较和交换,该算法可以应用到大规模的整数查找,算法的时间复杂度很低,而且避免的大量的数据比较和交换,同时在时间上是最优的。
  参考文献
  [1]崔泽鹏,李伟生.EREWPRAM模型上指数级分割待处理数据集的并行多选算法[J].北方交通大学学报,2003,(2):46-49
  [2]班志杰,高光来.一种Byte查找第K个元素的算法研究[J].内蒙古大学学报,2004,(3):322-324
  [3]ThomasH.CormenCharlesE.Leiserson.《算法导论》[M].北京:机械工业出版社。2006.9:98-99
  [4]MuhammadH.Alsuwaiyel.Anoptimalparallelalgorithmforthemultiselectionproblem[J].ParallelComputing,2001,(27):861—865
  [5]江华.求第K个元素的快速排序算法[J].韶关学院报,2003,(6):32-34
  [6]王晓东.《算法设计与分析》[M].北京:清华大学出版社,2003.1:39-43

中学体育运动安全与防范措施论文摘要中学体育是一门存在一定危险系数的课程,如果学生在学习过程中稍不留神,就可能会受到伤害,严重时还会危害学生的身体健康,对其他课程的学习造成影响。因此,中学体育老师在教学过程中应当高校青年教师教学素养提升方略的探析论文论文关键词高校青年教师教学素养提升方略论文摘要青年教师教学素养的提升是提高高等教育质量的关键因素之一,对于改进高校的教学质量具有重要的意义。高校青年教师教学素养由学科知识结构教学能油田标准化采购管理模式分析论文摘要近年来,胜利油田实施标准化采购过程中,不断健全标准化采购工作机制,形成了科学合理标准化的采购制度和采购程序。本文介绍了胜利油田标准化采购管理模式相关概念理论具体实践方案以及油田关于体育文化中学体育论文一运用校园媒体,浸润体育文化就当前本地农村中学的实际而言,校园媒体主要包括校园墙报班级板报校报校园广播站学校网站等。校园媒体作为文化传播的载体,有着重要的教育教学功能,但作为一种隐中学体育课快乐体育教学探讨论文摘要近年来中学体育教学为适应素质教育的发展,提出了许多理论和方法,中学体育课快乐体育就是素质教育的一种体现。本文根据多年的实践经验,结合快乐体育教育的经验和认识,探讨了快乐体育教育中学体育教学浅见论文摘要体育教育是学校教育的一部分,但当前中学体育教育所存在的问题很多,主要是体育教学是为了中考提高成绩或者是为了国家体育锻炼标准的达标。这两种体育教育目的都是单纯地提高身体素质和对付中学体育合作教学的论文小组合作学习是我国新一轮课程改革所倡导的一种学习方式。小组合作学习,就是把学生平均分成若干个小组,在教师的指导下,学生经过独立思考后,在组内进行研讨合作,小组成员交流各自的探索成果小学体育教学导学模式分析论文对导学模式的实践运用,可以深入分析学生存在的问题,并基于此设置相对应的活动单,使其能够正确认知自己的不足之处。通过鼓励学生参与到自主学习的过程中,强化学生和学生间的合作与学习,详细关于高职的作文教学实用论文1高职院校作文教学的现状在高职院校谈论最多的就是职业和技术,而对于作文很少有人把它作为自己的职业规划,想成为作家几乎就是梦想。尽管你的作文如何优秀,最终要找到好工作还得依靠丰富的理中学作文教学难点研究论文作文教学是中学语文教学的一个重要组成部分,在会考试卷中占40,分别大于与之并称的基础知识和阅读,而普通高中学生的作文现状及会考的现实表明,作文教学又是一个难点。基于这一认识,在作文教师作文教学论文当我再次进行中年级的作文教学时,不由引起我深深的思考长期以来,我们的作文教学积累了极为丰富的经验。但是我们也不能不看到,中小学生普遍厌恶作文畏惧作文的心理状态还没有得到很好的改善。
翻转课堂在高中信息技术教学中的运用论文一什么是翻转课堂翻转课堂也可称为颠倒教室。这里的翻转是相对于传统的教学模式而言的。教学过程一般都可以分为知识传授和知识内化两个阶段。传统教学将知识传授的阶段放在课堂之内,将知识内化关于问题导学在高中信息技术教学中的运用的论文摘要高中信息技术教学中有效运用问题导学方式,可以为学生信息技术素质的培养提供更为广阔的空间,学生的学习能力和实践操作能力以及发掘问题和自主解决问题的能力也会得到强化。高中信息技术教小议电教媒体在高职教学中的三利论文摘要电教媒体辅助高职教学,有利于加强直观教学,有利于实现课堂教学的大容量,有利于教学质量的提高。关键词电教媒体直观教学教学大容量教学质量提高二十一世纪是一个电脑蹉跎的信息时代,作为高职院校创业教育工作探讨论文一高职院校创业教育以生为本理念缺失的问题。对高职院校创业教育进行梳理和反思,就会发现创业教育面临着诸多问题,集中反映在忽视以学生为本,忽视学生的主体性和主体的需要,忽视学生的利益诉高职院校绩效管理比较探讨论文摘要本文对民办高职院校和公办高职院的不同特点,以独特的视野研究了民办高职院校绩效考核管理的特点和存在的问题,并就如何构建民办高职院校绩效考核管理机制提出相应对策,来提高民办高职院校追随幼儿兴趣引领幼儿发展的论文追随迪斯尼的小风潮,幼儿园的迪斯尼嘉年华也顺利的落下了帷幕,所有的孩子都有了一份属于自己的快乐和成长。而我们班的孩子借助一部影片汽车总动员与老师一起行走完了愉快的四周,在这四周里记便携式侦察机的总体设计与研究论文无人机的发展,给军用和民用领域都带来了革命性的发展。小型无人机携带方便,适用于各种地形,弹射和操作简单,具有低空全地形侦查和攻击的功能,可广泛应用于需要侦察监测抗震救灾等领域。若装论文页边距怎么设置word2003是我们需要熟练掌握的一款软件,前面和大家分享了word文档调整行距,今天和大家分享的。是页边距。那么一起来看看怎么在word中设置页边距吧。下面是小编为你带来的论文关于高校课堂教学中激励方法探析论文高校课堂教学不同于中小学的教育方式,因为其本身不再需要经历各种较为严苛的考试,我国的高校教育一般采用宽进严出的方式,只要通过高考进入大学的校门,其以后的学习就全凭学生本身的自觉性。如何运用历史故事构建高效课堂论文摘要在课程标准背景下,需要对构建高效课堂进行教学改革,需要学会用历史故事构建新的课堂教学方式,摒弃旧的教学思维和教学方式,创新课堂教学理念。通过一段时期的改革和创新体验,明确高效课农村成人学校教师职业素养研究论文摘要农村成人学校教师普遍存在素质不高的问题,为此,农村成人学校应该努力优化教师的知识结构,为教师提供再学习的机会,培养其专业技能,使其职业素养得到提升,让其有能力担负农村成人学员的