【摘 要】
:
选择问题定义如下:给定由n个元素组成的集合A和一个正整数1≤k≤n,A中两两元素之间存在大于或小于关系,选择问题要求在A中找到第k小的元素,即找到一个元素,恰好大于k-1个元素并且
论文部分内容阅读
选择问题定义如下:给定由n个元素组成的集合A和一个正整数1≤k≤n,A中两两元素之间存在大于或小于关系,选择问题要求在A中找到第k小的元素,即找到一个元素,恰好大于k-1个元素并且恰好小于n-k个元素。选择问题是计算复杂性领域的经典问题之一,被应用于排序、找凸包等问题中。一般考虑它在比较模型下的复杂度。比较模型限定对数据的访问只可以两两比较,并且算法的复杂度以算法执行过程中的比较次数衡量。称算法的比较复杂度为算法在比较模型中的复杂度。 1973年,Blum等人对选择问题提出了一个确定性算法,算法需要将给定的集合A分成若干大小为g的小块。Blum等人证明,如果g≥5,则算法的比较复杂度为O(n)。而如果g∈{3,4},虽然按照Blum等人的分析,算法的比较复杂度为O(nlogn),但是没有例子证明这个分析是紧的。 本文首先证明,如果g=2,则Blum等人算法的比较复杂度为Ω(nlogn)。然后对Blum等人算法的分块策略做了调整,使得当g∈{3,4}时算法的比较复杂度为Θ(nlogn)。本文也对Blum等人的算法稍作修改,当g∈{3,4}时,对于任意的分块策略,有比较复杂度为O(n)。定义A中的(m,k)平凡元素为A中小于m个元素并且大于k个元素的元素,其中A的规模为n且n≥m+k+1。本文证明了当n大于一定阈值时,找到(m,k)平凡元素需要的比较次数不超过(1+√2α)2(m+k+1),其中α=k/m+k+1。
其他文献
为了能从遗产系统中获取可复用的部分,并将其封装成为构件,用于新产品的开发,以降低开发成本,提高开发效率,该文中提出了一个基于Java的构件获取辅助工具,并给出了该工具的体
Cache验证算法的目的是验证cache中数据和服务器上的数据是否一致,它是移动计算系统充分利用cache技术优点的首要保证.有关移动环境中的高性能cache验证算法的研究一直是移动
随着企业信息化进程的加速和电子商务网站的风起云涌,数据膨胀而数据无用这个问题日益严重,怎样从现有的数据中提取对企业有用的信息,已经成为一个亟待解决的问题。数据挖掘就是
互联网络硬件、软件的迅猛发展,使得网络用户呈指数增长。在使用通用计算机进行网络互联的同时,各种家电设备、PDA、仪器仪表、工业生产中的数据的采集与控制设备正在逐渐走向
该论文以某航空测量数据采集子系统的研制为背景,结合系统的实时性、可靠性及人机界面的应用需求,研究了机载环境下软件的实时数据获取技术、数据缓存技术、数据存盘技术、数
随着计算机应用领域的迅速扩大,软件规模及复杂性不断提高,软件危机愈加明显暴露出来,提高软件生产率成为软件产业的当务之急。软件复用被认为是解决软件危机,提高软件生产率和软
该文以Java2和XML技术为基础,提出以XML文档作为异构关系数据库间数据转换的中间形式,使得数据库中草药表结构和表数据可以以标准的方式描述,克服了现有工具的中间文件不可知
网格中间件(或称网格操作系统),屏蔽了各个计算资源间的异构性,为用户透明使用各个计算资源提供了一系列的服务、协议以及API以方便使用网格资源,但考虑到程序的可移植性和编
本文从硬件级、系统级和应用级三个层次入手,设计并实现了基于双机热备技术的高可用性呼叫中心系统,该系统有效的克服了传统单机模式呼叫中心在可用性方面的不足,有效的提高
入侵检测系统是计算机网络安全防御系统的重要组成部件之一。随着入侵检测系统的广泛应用,入侵检测系统的定量化评估成为研究热点。1998年和1999年美国麻省理工学院林肯实验室