左倾堆枚举算法的研究

来源 :华东师范大学 | 被引量 : 0次 | 上传用户:maowangaa
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
枚举有两层含义:一是计数,即计算具有某种特性的所有对象的个数;二是生成,即产生具有某特性的所有对象。本文主要介绍了二叉树的枚举,最大值堆的枚举和自己所研究的左倾堆的枚举。二叉树是一种重要的数据结构。二叉树枚举的研究无论在算法理论上还是在实际应用中都具有重要的意义。与二叉树枚举计数相关的最有名的就是Catalan数。目前二叉树的枚举生成主要是基于编码的二叉树生成算法,这些算法建立了二叉树集合和编码集合间的一一对应关系,将二叉树的枚举生成问题转化为编码的枚举生成问题。最大值堆在结构上是一棵完全二叉树。最大值堆的枚举生成是将数值映射到结构固定的完全二叉树上。目前最大值堆的枚举生成大都是基于回溯法,并采用单个数判断法和层次判断法来减少回溯的次数。左倾堆是具有堆序性质和左倾性质的特殊二叉堆。它可以作为优先队列的一种实现方式,跟普通的二叉堆相比,有着更加高效的合并操作。左倾堆的枚举对于研究左倾堆的性质、分析其相关算法的平均复杂性有着重要意义,并为左倾堆的随机生成提供了基础。本文首先根据左倾堆的距离和结点数的关系,用组合方法推导出了左倾堆枚举计数的递推公式,然后提出了基于构造的左倾堆枚举生成算法和基于排列的左倾堆枚举生成算法。基于构造的左倾堆的枚举生成算法是在含n-1个结点的左倾堆中插入一个结点构造所有含n个结点的左倾堆;基于排列的左倾堆枚举生成算法的依据是本文提出的一个定理,即一个二叉堆的中序序列能够唯一的确定该二叉堆。该定理确立了一个含n个结点的二叉堆与一个n元排列的一一对应关系。基于排列的左倾堆枚举生成算法通过生成n元排列,将排列看成是二叉堆的中序序列,通过中序序列来构造二叉堆,再从二叉堆中筛选出左倾堆,该算法简化了左倾堆的枚举过程,相对比基于构造的左倾堆的枚举生成算法,左倾堆的枚举生成效率提高了35%以上。同时本文进一步改进了基于排列的左倾堆枚举生成算法,使得左倾堆的枚举生成效率进一步提高了40%左右。本文最后对三种结构的枚举进行了总结,对左倾堆枚举生成的进一步改进方法进行了讨论。
其他文献
特征抽取在模式识别中占据着至关重要的地位,其方法有很多。本文基于偏最小二乘(PLS)的建模思想,深入探讨了将PLS方法和模糊PLS(FPLS)方法用于特征抽取的理论和方法。本文主
随着计算机技术的发展,总线技术也在不断发展,总线种类越来越多,速度也越来越快。市面上同类型产品接口呈现多样化,这使得应用开发者在系统设计时选择更灵活,但同时也带来新
集成学习(Ensemble Learning)是为某个问题训练一组学习器,并将这些学习器联合起来执行一定预测任务的一种机器学习技术。由于该技术能够显著地提高学习系统的泛化能力,受到
堆是最基本的数据结构之一,对堆进行枚举,可以作为堆上算法复杂性分析的有力工具,有着重要的意义。堆的枚举有两种含义,一种是计数,即计算出具有某种特性的堆的总数目;另一种
无线传感器网络是由部署在监测区域内的大量传感器节点通过无线通信方式形成的多跳自组织网络,在军事、科学研究和商业等领域具有广泛的应用前景。特别是近年来物联网、智慧
量子遗传算法是将量子计算与遗传算法相结合而形成的一种混合遗传算法,它弥补了传统遗传算法的某些不足;利用量子计算的一些概念和理论,如量子位、量子叠加态等,使用量子比特
高分辨率全极化合成孔径雷达(PolSAR)图像细节特征更加丰富,且存在大量的相干斑噪声,传统的基于像素的处理技术由于不能很好地抑制相干斑噪声,进行分割时会导致大量的过分割
随着互联网应用的日益深入,越来越多的资源被数字化,网络化,如何更安全、更快捷地访问这些资源正在成为研究的热点。Shibboleth是一个基于分布式的,在多组织范围内实现单点登
许多计算机辅助英语学习的应用,都忽略了口语的教学,或者缺乏对口语学习结果良好的评估和反馈。然而在语言发音学习中,对学习者一个很大的帮助来自于有效的反馈。对于这一问
医学冠脉造影图像易于受到多种因素的干扰。血管壁厚度变化较大,背景噪声复杂多变及光照强度分布不均匀等因素均会影响到造影成像的图片质量与清晰度,而且在冠状动脉造影图像