要求设计实现一个查找算法比较,能对顺序查找、折半查找、分块查找的平均查找长度进行比较.
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/16 19:18:56
要求设计实现一个查找算法比较,能对顺序查找、折半查找、分块查找的平均查找长度进行比较.
1.测试数据的输入并利用数组进行存储.
2.给定一个关键值,在测试数据中对关键值采用顺序查找、折半查找、分块查找.
3.计算出各种查找算法的平均查找长度并显示出来.
1.测试数据的输入并利用数组进行存储.
2.给定一个关键值,在测试数据中对关键值采用顺序查找、折半查找、分块查找.
3.计算出各种查找算法的平均查找长度并显示出来.
给你一个参考程序,你可以看一下,自己仿照这些一下:
#include
#include
#include
const int ARRSIZE= 10015;
// 从小到大排序数组元素
void asort(int *a,int s)
{
int i,j,k,t;
for (i = 0; i < s-1; ++i)
{
k = i;
for (j = i + 1; j < s; ++j)
{
if (a[k] > a[j])
{
k = j;
}
}
if (k != i)
{
t = a[i];
a[i] = a[k];
a[k] = t;
}
}
}
// 顺序查找,找到返回该元素数组下标,否则返回-1
int SeqSearch(int *a,int s,int k)
{
int i;
for (i = 0; i < s; ++i)
{
if (k == a[i])
return i;
}
return -1;
}
// 折半查找,找到返回该元素数组下标,否则返回-1
int BinSearch(int *a,int s,int k)
{
int low = 0;
int high = s - 1;
while (low = a[i*t] && k
#include
#include
#include
const int ARRSIZE= 10015;
// 从小到大排序数组元素
void asort(int *a,int s)
{
int i,j,k,t;
for (i = 0; i < s-1; ++i)
{
k = i;
for (j = i + 1; j < s; ++j)
{
if (a[k] > a[j])
{
k = j;
}
}
if (k != i)
{
t = a[i];
a[i] = a[k];
a[k] = t;
}
}
}
// 顺序查找,找到返回该元素数组下标,否则返回-1
int SeqSearch(int *a,int s,int k)
{
int i;
for (i = 0; i < s; ++i)
{
if (k == a[i])
return i;
}
return -1;
}
// 折半查找,找到返回该元素数组下标,否则返回-1
int BinSearch(int *a,int s,int k)
{
int low = 0;
int high = s - 1;
while (low = a[i*t] && k
顺序表长度为n的折半查找算法的平均查找长度
有一个长度为12的有序表,按折半查找法对表进行查找,在表内各元素等概率的情况下查找成功所需的平均比较次
数据结构题目:才用折半查找算法在长度为12的有序表中查找一个元素时,查找成功的平均查找长度为多少?...
折半查找,不成功的平均搜索长度 怎么算的?
折半查找不成功的平均搜索长度怎么求?
在一个长度为n的顺序线性表中顺序查找值为x的元素时,查找成功时平均查找长度为多少
关于哈希表查找不成功时的平均查找长度
关于数据结构二分法查找成功的平均查找长度和失败的查找长度
数据结构折半查找的二叉查找树的问题
计算各种查找方法在等概率情况下查找成功时的平均查找长度
算平均查找长度长度为12的按关键字有序的查找表采用顺序组织方式,若用二分法查找,则在等概率情况下,查找不成功的平均查找长
对一个长度为10的排好序的表用二分法查找,若查找不成功,至少需要比较的次数是?