哈希游戏- 哈希游戏平台- 哈希游戏官方网站
哈希表实验报告 题目: 哈希表的设计及应用 班级: 031114 姓名: 孟杨 学号: 03111392 问题描述 给定一个英文段落(单词个数200), 利用哈希表(表长最大为 20) 统计单词出现的 频度, 并能根据要求显示出给定单词在段落中出现的位置。 基本要求 哈希函数使用除留余数法构造, 使用链地址法进行冲突处理。 测试数据 任意给定一个 text 文档(包含一个英文段落) (1) 显示出不同英文单词的出现频度。 (2) 给定一个英文单词, 判断段落中是否含有该单词, 如有, 依次显示出该单词在段落中出现的位置。 需求分析 (1)以单词...
哈希表实验报告 题目: 哈希表的设计及应用 班级: 031114 姓名: 孟杨 学号: 03111392 问题描述 给定一个英文段落(单词个数200), 利用哈希表(表长最大为 20) 统计单词出现的 频度, 并能根据要求显示出给定单词在段落中出现的位置。 基本要求 哈希函数使用除留余数法构造, 使用链地址法进行冲突处理。 测试数据 任意给定一个 text 文档(包含一个英文段落) (1) 显示出不同英文单词的出现频度。 (2) 给定一个英文单词, 判断段落中是否含有该单词, 如有, 依次显示出该单词在段落中出现的位置。 需求分析 (1)以单词的每个字母与“a” 的 ASCII 值的差的和除 128 取余为标志(即数组下标) 建立哈希表。(除留余数法构造); (2)如果有两个单词的标志是相同的, 则把后一个接到上一个的横向(即二维数组第二维) 后面。 以此类推。(链地址法进行冲突处理); (3)首先输出哈希表, 后可以输入单词查找, 查找成功, 显示单词, 次数和位置。 程序设计 存储结构设计 struct node { string word; //单词 int times; //出现次数 int pos[1000]; //每次的位置 }; 数据从文件 hash_in.txt 中读入。 建立哈希表 int gethashcode(string s)//除数取余法获得单词标志 { int code=0; for(int i=0;is.size();i++) { code+=s[i]-a; } return code%mod; //mod 宏定义为 128 } void gethash() { string str;