关于折半查找,书上的介绍有点不理解。平均查找长度怎么算的?
时间:2011-11-28
来源:互联网
书上说:
假定有序表的长度n=2^h-1,则描述这边查找的判定树是深度为h的满二叉树。树中层次为1的结点有1个,层次为2的结点有2个……,层次为h的结点有2^(h-1)个。假设表中每个记录的查找概率相等(Pi=1/n),则查找成功时折半查找的平均查找长度
ASLbs=Pi*Ci(i从1到n)
=(1/n)(j*2^(j-1))(j是从1到h)
为什么不是(1/n)*j呢?不是第j层之前只比较了j个记录吗?不是每一层只比较一次吗?
书上说:Ci为找到表中其关键字与给定值相等的第i个记录时,和给定值已进行过比较的关键字个数
假定有序表的长度n=2^h-1,则描述这边查找的判定树是深度为h的满二叉树。树中层次为1的结点有1个,层次为2的结点有2个……,层次为h的结点有2^(h-1)个。假设表中每个记录的查找概率相等(Pi=1/n),则查找成功时折半查找的平均查找长度
ASLbs=Pi*Ci(i从1到n)
=(1/n)(j*2^(j-1))(j是从1到h)
为什么不是(1/n)*j呢?不是第j层之前只比较了j个记录吗?不是每一层只比较一次吗?
书上说:Ci为找到表中其关键字与给定值相等的第i个记录时,和给定值已进行过比较的关键字个数
作者: shimachao 发布时间: 2011-11-28
1, 3, 5, 7, 9, 11, 13
对以上有序数组,查找关键字8,自己走一遍看看,是不是你想的那样。然后把相应的二叉搜索树画出来,再看看是怎么找的。
对以上有序数组,查找关键字8,自己走一遍看看,是不是你想的那样。然后把相应的二叉搜索树画出来,再看看是怎么找的。
作者: mougaidong 发布时间: 2011-11-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28