下载此文档

二叉排序树平均查找长度的精确表达式.doc


文档分类:IT计算机 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
二叉排序树平均查找长度的精确表达式
[摘要]查找长度的精确表达式,需要对二叉排序树的平均查找长度进行详细分析,寻找一个平均查找长度的精确表达式及其证明过程。基于二叉树表,提出欧拉常数的一种新的计算方法,对平均查找长度精确表达式进行了算例分析,并与其他经典平均查找长度计算公式加以对比,验证了其正确性。
[关键词]二叉排序树平均查找长度欧拉常数
[中图分类号] [文献标识码] A [文章编号] 2095-3437(2015)07-0100-02
《数据结构》作为一门介于数学、计算机硬件和计算机软件三者之间的核心课程,是信息与计算科学相关专业的综合性专业基础必修课。树形结构是该课程的重要内容之一,掌握二叉树的逻辑结构特性、各种存储结构的特点及适用范围,有助于学生学会对处理的数据建立抽象数据类型,并使学生对算法的复杂度有一定的分析能力。
在数据处理中,查找是一种经常使用的操作方法,树表中数据元素的插入和删除均需要进行查找操作。查找是指在含有若干记录的表中找出关键字值与给定值相同的记录。若表中存在这样的记录,则查找成功,返回所找到记录的信息或记录在表中的位置;否则查找失败,返回空记录或空指针。当用线性表作为表的组织形式时,可以有三种查找法,其中二分查找效率最高。但由于二分查找要求表中结点按关键字有序,且不能用链表作存储结构,因此,当表的插入或删除操作频繁时,为维护表的有序性,势必要移动表中很多结点。这种由移动结点引起的额外时间开销,就会抵消二分查找的优点。也就是说,二分查找只适用于静态查找表,若要对动态查找表进行高效率的查找,可采用二叉排序树作为表的组织形式。
二叉排序树,作为树形结构的一个重要类型,又称二叉查找树,亦称二叉搜索树,其存储结构和算法比较简单,特别适合计算机处理。它或者是一棵空树,或者是具有下列性质的二叉树[1]:(1)它的左子树上的所有结点(若存在)的值均小于根结点的值;(2)它的右子树上的所有结点(若存在)的值均不小于根结点的值;(3)它的左、右子树也分别为二叉排序树。
例如,由一组关键字(18,5,20,9,6,27,3)可构造如图1所示的二叉排序树。
二叉排序树是一种动态树表,树的结构通常不是一次生成的,而是在查找过程中,当树中不存在关键字等于给定值的结点时再进行插入。新插入的结点一定是一个新添加的叶子结点,并且是查找不成功时,查找路径上访问的最后一个结点的左孩子或右孩子结点。
崔尚森等[2]提出了基于表地址前缀分布特点的前缀长度二分查找方案;秦玉平等[3]给出了常用查找算法平均查找长度的计算方法,包括查找成功和查找失败平均查找长度的计算。本文给出了一个关于二叉树平均查找长度的精确表达式及其证明过程,并给出了算例验证。
一、二叉树的平均查找长度
查找运算的主要操作是进行关键字的比较,为确定给定关键字在查找表中的位置,需和给定关键字进行比较,将比较次数的期望值称为平均查找长度。
假设任意给定n个记录,每个记录带有可比较大小的关键字,将这n个记录排成一棵二叉排序树,假定在查找成功的情况下,要求出这棵二叉排序树的平均查找长度。
不妨设这n个记录中有i个记录的关键字比第一个记录的关键字小,有n-i-1个记录的关键字不比第一个记录的关键字小,如图2所示。
由此得到的二叉排序

二叉排序树平均查找长度的精确表达式 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wuxwivg046
  • 文件大小0 KB
  • 时间2015-11-10
最近更新