首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

分块查找的有关问题

2013-02-17 
分块查找的问题假设采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来

分块查找的问题
假设采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定元素所在块,则每块元素个数应为()时,查找效率最佳。
1.10块
2.25块
3.6块
4.625块



我选4,对不对???
[解决办法]
原因是??? 我感觉4肯定不对。。
[解决办法]
应该是 25 。。。
[解决办法]
当sqr(625)时,
分块查找的平均查找长度ASL取最小值sqr(625)+1,
因为进行分块查找时,可将长度为N的表均匀地分成B块,每块含有S个记录,即有B=N/S,
有等概率的情况下,块内查找的概率为1/S,每块的查找概率为1/B,若按顺序查找确定元素所在的块,则分块查找的平均查找长度为:
ASL(BS)=L(B)+L(S)=(B+1)/2+(S+1)/2=1/2(N/S+S)+1
可以求得当S取sqr(N)时,ASL取最小值sqr(N)+1



http://bbs.bccn.net/thread-97056-1-1.html
[解决办法]
分块前,就一块命中率是100%,分块后,每个块的命中概率已不是100%,分N块后,而是N分之一。。。。

热点排行