求闭散列表的平均查找长度
2012-05-12 18:41
363 查看
题目描述:
创建一个整型数组用来存放闭散列表,散列函数为除留余数法如下:hash(x) = x % 11,散列数组中有8个元素,要求从键盘读入这8个散列元素,采用闭散列即开放定址法的线性探查法处理冲突,计算该闭散列表的平均查找长度。输入样例:
7 6 92 77 3 15 28 45
输出样例:
1.375
输入描述:
输入8个整型散列元素,以空格隔开输出描述:
输出该比散列表的平均查找长度,占一行#include <iostream>
using namespace std;
int f(int a[])
{
int n,k=1;
cin>>n;
int number=n%11;
if(a[number]==-1)
{
a[number]=n;
return 1;
}
number=(number+1)%11;
while(a[number]!=-1)
{
if(a[number]!=n)
{
number=(number+1)%11;
k++;
}
else
{
a[number]=n;
return k;
}
}
if(a[number]==-1)
{
a[number]=n;
k++;
return k;
}
return 0;
}
int main()
{
int a[100],i;
float count=0;
for(i=0;i<11;i++)
{
a[i]=-1;
}
for(i=0;i<8;i++)
{
count=count+f(a);
}
cout<<count/8;
return 0;
}
相关文章推荐
- 散列表的平均查找长度
- 平均查找长度
- 哈希表计算等概率情况下查找不成功的平均查找长度
- 哈希算法的平均查找长度计算
- 哈希表(等概率情况下)查找成功与查找不成功的平均查找长度
- 二叉排序树查找不成功的平均查找长度
- 二分查找的平均查找长度详解【转】
- 二分查找的平均查找长度详解【转】
- Hash表的平均查找长度ASL计算方法
- 哈希表的平均查找长度
- 哈希表中线性探测再散列法及等概率条件下平均查找长度
- 二分查找的平均查找长度详解
- 哈希表——线性探測法、链地址法、查找成功、查找不成功的平均长度
- 链地址法和开放定址法,求等概率下查找成功时的平均查找长度
- 静态查找表与计算平均查找长度
- 哈希表查找 平均查找长度 解析
- 有序表和无序表分别进行顺序查找,对于查找失败的情况下,它们的平均查找长度是不同的
- 查找——平均查找长度
- 哈希表查找不成功时的平均查找长度计算和查找成功时的ASL
- 哈希表处理地址冲突的方法及成功查找的平均长度