第十四周项目二——用希尔法组织关键字
来源:互联网 发布:centos 6.8安装cacti 编辑:程序博客网 时间:2024/06/18 12:20
#include <string.h> #include <stdio.h> #include <iostream>#define N 15 #define M 26 int H(char *s){return ((*s - 'a' + 1) % M);}int main(){char *s[N] = { "if", "while", "for", "case", "do", "break", "else", "struct", "union", "int", "double", "float", "char", "long", "bool" };int i, j, k;char HT[M][10];int Det[M]; //存放探测次数 for (i = 0; i<M; i++){HT[i][0] = '\0';Det[i] = 0;}printf("字符串 key\tH(key)\n");printf("------------------------\n");for (i = 0; i<N; i++){j = H(s[i]); //求哈希值 printf("%s\t\t%d\n", s[i], j);k = 0; //探测次数初值 while (1){k++; //累加探测次数 if (HT[j][0] == '\0') //当不冲突时,直接放到该处 {strcpy(HT[j], s[i]);break;}else //冲突时,采用线性探查法求下一个地址 {j = (j + 1) % M;}}Det[j] = k;}printf("---------------------\n");printf("哈希表\n");printf("位置\t字符串\t探查次数\n");printf("---------------------\n");for (i = 0; i<M; i++)printf("%d\t%s\t%d\n", i, HT[i], Det[i]);printf("---------------------\n");k = 0;for (i = 0; i<M; i++)k += Det[i];printf("查找成功情况下的平均查找长度 %f\n", 1.0*k / N);system("pause");return 0;}
程序运行截图:
阅读全文
0 0
- 第十四周项目二——用希尔法组织关键字
- 第十四周项目二——用希尔法组织关键字
- 第十四周——项目二—用哈希法组织关键字
- 第十四周 项目二 用哈希法组织关键字(1)线性探测法处理冲突
- 第十四周项目二 用哈希法组织关键字(2)链地址法处理冲突
- 第十四周项目2-用哈希法组织关键字
- 第十四周 项目2-用哈希表组织关键字
- 第十四周项目2 用哈希法组织关键字
- 第十四周项目2-用哈希法组织关键字
- 【第十四周项目2】用哈希法组织关键字
- 第15周项目2-用希尔法组织关键字
- 第十四周项目二—成绩处理
- 第十四周项目二
- 第十四周项目二
- 第十四周项目二
- 第十四周项目二
- 第十四周项目一(3)——验证算法之希尔排序
- 第十四周项目一(3)——验证算法之希尔排序
- 概率图模型(PGM)-LDA 隐含狄利克雷分布学习记录
- Mysql
- 动辄几个亿的东半球最强饭局:大佬们都吃了啥?
- 月薪3000和月薪30000的关注点有什么不同
- 给Python新手的一些编码建议
- 第十四周项目二——用希尔法组织关键字
- ajax 设置Access-Control-Allow-Origin实现跨域访问
- 测试相关文档
- 四平方和
- 1059. C语言竞赛(20)
- Android异步任务AsyncTask的使用与原理分析
- 基于Dubbo框架的秒杀系统设计与实现-1
- iOS逆向 微信消息界面分析
- QA 工程师去买床