最小-最大堆枚举算法的研究

来源 :华东师范大学 | 被引量 : 0次 | 上传用户:kfcgen
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
堆是最基本的数据结构之一,对堆进行枚举,可以作为堆上算法复杂性分析的有力工具,有着重要的意义。堆的枚举有两种含义,一种是计数,即计算出具有某种特性的堆的总数目;另一种是生成,即一个一个地产生所有的具体堆。最小一最大堆是一种完全二叉树形状的堆结构,现已被广泛应用在数据排序、最短路求解、任务调度、最小生成树等诸多领域。在最小一最大堆上以D(1)的复杂度即可取得最小元与最大元;插入元素、删除最小元、删除最大元的复杂度都是<=)(10g")。对这些运算的高效支持使得最小一最大堆成为双端优先队列的优秀实现方法。由于其完全二叉树形状的特点,可以使用操作简便的隐式存储结构进行存储,避免了复杂的指针操作,它从而得到广泛应用。首先,在已有计数公式的基础上,结合对堆中各子树结点数的研究,本文得出了含,z结点的堆的直接计数公式。不同于以往基于递推的计数公式,本文公式仅与结点数,l有关,是一个直观的计数公式,由它得到的求解算法时间复杂度是D(,z);较之已有的计数算法,此计数算法避免了以往《二)(,z)的存储空间。接着,本文先给出了一个基础的最小一最大堆生成算法LBG,它采用了“单个数判断法”和“层次判断法”两个基本方法以减少冗余步骤的生成。该基础算法可以完备地枚举出所有含,z个结点的最小一最大堆。最后,考虑到满堆在枚举集合上具有对偶特性,在进行堆的生成时,可以仅生成每对对偶堆中的一个,通过交换根结点的左右子树得到另一个堆;另外,将一个最小一最大堆的生成分解成对其两个子堆的生成,即:一个满堆和一个完全子堆的生成,本文提出了改进的生成算法DBG。通过将堆进行分解,实现了把七层堆的生成转换成对两个k-1层堆的生成,对满堆的生成利用了对偶性,大幅度减少了生成堆所花费的时间,提高了算法的效率。实验表明,与基础算法LBG相比,算法DBG的生成时间开销平均提高了87%。以上这些工作为进一步研究最小一最大堆提供了有力的帮助。
其他文献
在当代非线性科学中,非线性方程的可积性是广大学者的重要研究方向之一.本文将结合著名数学家吴文俊的数学机械化思想,并以计算机代数系统Maple为工作平台研究非线性微分差分方
词义消歧在自然语言处理的许多应用领域中具有重要的理论和实践意义,是一个影响着自然语言处理领域中许多其他应用问题的“中间问题”,在机器翻译、信息检索、主题内容分析和
P2P网络存储的网络资源也越来越多,如何在海量的网络资源中精确定位所需资源(P2P的资源定位模型)成为当前P2P研究领域的热点。P2P的资源定位模型决定着资源查找的准确率以及
物联网是通过信息传感设备采集物理世界中物的信息,并将物的信息上传至互联网,其本质是在互联网上实现物理世界的信息共享。物联网的传感设备时时刻刻采集处理现实世界信息,以便
随着计算机技术的不断发展,手势识别已经成为人机交互领域中的一项关键技术。现今,作为一种新型的人机交互技术,手势识别已经成为涉及图像处理、模式识别、计算机视觉等领域
随着当今信息技术和Internet技术的迅猛发展和广泛应用,时时可学、处处可学和人人可学的学习型社会正在形成。网络远程教育逐渐成为一种重要的教学模式。各种教育理念也逐渐
基于SIP的下一代网络(NGN),能够无缝融合3G、WLAN、PSTN、互联网等各种类型的网络,这使得SIP在NGN网络中将占据主导地位。基于SIP的网络融合平台提供了基于SIP的网络服务项目
特征抽取在模式识别中占据着至关重要的地位,其方法有很多。本文基于偏最小二乘(PLS)的建模思想,深入探讨了将PLS方法和模糊PLS(FPLS)方法用于特征抽取的理论和方法。本文主
随着计算机技术的发展,总线技术也在不断发展,总线种类越来越多,速度也越来越快。市面上同类型产品接口呈现多样化,这使得应用开发者在系统设计时选择更灵活,但同时也带来新
集成学习(Ensemble Learning)是为某个问题训练一组学习器,并将这些学习器联合起来执行一定预测任务的一种机器学习技术。由于该技术能够显著地提高学习系统的泛化能力,受到