数据结构课程设计报告---利用Hash技术统计单词的频度
-
资源ID:1432293
资源大小:110KB
全文页数:7页
- 资源格式: DOC
下载积分:100金币
快捷下载

账号登录下载
三方登录下载:
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
|
数据结构课程设计报告---利用Hash技术统计单词的频度
1、数据结构课程设计报告数据结构课程设计报告 一一. .课程设计题目课程设计题目: 利用 Hash 技术统计单词的频度 二具体要求:二具体要求: 利用 Hash 技术统计某个 C 源程序中的关键字出现的频度 扫描 C 源程序,用 HASH 表存储该程序中出现的关键字,并统计该程序中的关键字出现的 频度,用线性探测法解决冲突,设 HASH 函数为: Hash(key)=(key 的第一个字母序号)*100+(key 的最后一个字母序号) mod 41 Asm default Float long sizeof void Break do For near static volatile Case d
2、ouble Goto pascal struct while Cdecl else Huge register switch Char enum If return typedef Const extern int short union continue far interrupt signed unsigned 三三.算法思想算法思想: 1、数据结构设计、数据结构设计 关键字表的结构 struct data1 char words10; /关键字 int exist; /位置是否为空标记 int hashnum; /假设不冲突计算出的 key 值,调试用 ; Hash 表中的结点结构 st
3、ruct data2 char words10; int exist; /位置是否为空标记 int freq; /频度 int clash_count; /冲突次数 ; 2 2、功能设计、功能设计 具体算法: 1.先对给定的关键字用 hash 技术建一个 hash 表; 2.从一个大字符串中分解单词;计算该单词的 key 值; 单词:由非字母分隔开的连续字母串 3.识别是否是关键词, 到关键字 Hash 表查找 /关键字表冲突越少.效率越高 是则插入 hash 表,不是继续读取数据 4.插入 Hash 表,或调整 Hash 表项中的频度 5 文件读取完毕则执行 6,否则转至 2; 6 输出 H
4、ash 表,关键词总数,冲突次数; 3.函数申明函数申明: 1.void List(); 扫描关键字文件.新建一个关键字 hash 表; 关键字 hash 表: *利用 hash 技术存储 c 语言关键字* case 0 38 switch 1 1 enum 2 0 near 3 3 cdecl 4 4 huge 5 5 extern 6 1 int 7 38 union 8 2 continue 9 38 asm 10 10 void 11 10 volatile 12 11 struct 13 13 char 14 10 double 15 15 const 16 12 typedef 17 17 short 18