社区
C语言
帖子详情
求分块查找的算法
hikozl
2004-10-04 08:06:27
恩。 。请回复在下面,谢谢。。
...全文
432
4
打赏
收藏
求分块查找的算法
恩。 。请回复在下面,谢谢。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
挺拔的劲松
2004-10-09
打赏
举报
回复
下面是分块查找的程序,表table的长度为16,分为4块。程序先建立索引表index,然后对给出的关键码查找索引以确定在哪一块,接着在块内进行查找。
#include<stdio.h>
#define n 16
#define m 4
typedef struct{int key;
int ip;
}indexelement;
typedef struct{int key;
float info;
}element;
typedef indexelement indextype[m];
typedef element sqlist[n];
int sequentialsearch(sqlist r,indextype index,int block,int k)
{
int i;
i=index[block].ip;
while(k!=r[i].key&&k<=index[block].key) i++;
if(k!=r[i].key) i=0;
return(i);
}
main()
{
int i,j,k;
sqlist table;
indextype index;
printf("input %d element's key\n",n);
for(i=0;i<n;i++)
{
scanf("%d",&j);
table[i].key=j;
}
printf("input %d element's ip to form an index'ip\n",m);
for(i=0;i<=m-1;i++)
{
scanf("%d",&j);
if(j<0||j>n)
{
printf("ERRORS!");
exit(0);
}
index[i].ip=j;
}
printf("input %d element's key to form the index'key\n",m);
for(i=0;i<=m-1;i++)
{
scanf("%d",&j);
index[i].key=j;
}
printf("search which key?\n");
scanf("%d",&k);
i=0;
while(k>index[i].key&&i<m-1) i++;
if(i>=m) printf("not fount\n");
else
{
j=sequentialsearch(table,index,i,k);
if(j==0) printf("not fount\n");
else printf("loc=%d\n",j);
}
}
hikozl
2004-10-06
打赏
举报
回复
恩。。拜托各位了。。帮帮忙。。
hikozl
2004-10-05
打赏
举报
回复
晕啊。。具体的解释我知道,但就是写不出来这算法。把算法帖在下面好吗?
hcj2002
2004-10-04
打赏
举报
回复
分块查找就是把表分成若干块,每一个快中的关键字不一定是有序的,但块之间是有序的(后面的关键字均大于前面的);此外还建立一个索引表,索引表按关键字有序。
因此分块查找分两步:1.在索引表中找相关的快。
2.在块中找出关键字。
分块查找
算法
实现
分块查找
算法
是一种在大规模数据集合中提高查找效率的策略,它是对传统顺序查找方法的优化。在传统的顺序查找中,我们需要线性遍历整个数据序列来查找目标元素,这在数据量大时效率较低。
分块查找
通过将数据划分为较...
【数据结构与
算法
】
分块查找
算法
实现:有序分块数据快速检索方法研究
文档通过C#语言实现了
分块查找
算法
,定义了IndexBlock结构体用于存储每个块的最大值、起始位置和结束位置,并展示了如何初始化分块以及执行具体的查找操作。最后通过一个简单的例子演示了
分块查找
的应用,当查找成功...
数据结构静态查找表三大查找方法解析:顺序、折半、
分块查找
算法
原理与应用场景
内容概要:本文详细介绍了静态查找表及其三种常见查找方法——顺序查找、折半查找(二分查找)和
分块查找
。静态查找表是一种仅支持查找操作、不允许插入或删除的数据结构,具有数据固定、结构简单、便于高效查询的...
线性表
分块查找
算法
软件工程作业答案
本
算法
可以根据自行创建快的数目,每块的最小关键字,每块的内的数据,然后准确找出所查找元素的位置
(源码)基于Java的排序与查找
算法
实现.zip
项目包含了多种经典的排序
算法
(如直接插入排序、折半插入排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序)和查找
算法
(如顺序查找、折半查找、
分块查找
、二叉排序树查找、B树查找、B+树查找、哈希表...
C语言
70,040
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章