2022年西北工业大学数据结构课程方案实验报告.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年西北工业大学数据结构课程方案实验报告.docx》由会员分享,可在线阅读,更多相关《2022年西北工业大学数据结构课程方案实验报告.docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用 2022-2022数据结构课程设计试验报告学院:班级:姓名:学号:邮箱:日期: 2022 年 1 月 17 日名师归纳总结 - - - - - - -第 1 页,共 12 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用数据结构试验报告 试验题目 : 单词词组)检索 试验内容: 现在有一个英文字典 每个单词都是由小写的 a-z组成),单词量 很大,达到 100 多万的单词,而且仍有许多重复的单词;此外,我们现在仍有 一些 Document,每个 Document 包含一些英语单词;针对这
2、个问题,请你挑选合适的数据结构,组织这些数据,使时间复杂度和空间复杂度尽可能低,并且解决下面的问题和分析自己算法的时间复杂度;1)基本型问题 必需采纳字符串哈希, hash散列算法)1)将全部的英文单词生成一个字典 Dictionary;2)给定一个单词,判定这个单词是否在字典 中,输出这个单词总共显现的次数;否就输出Dictionary 中;假如在单词库 NO;3)输出 Dictionary 中显现次数最高的 序算法)10 个单词; 必需采纳快速排序或堆排2)扩展型问题 可挑选合适的数据结构)4)给定一个单词,按字典序输出字典Dictionary 中全部以这个单词为前缀的单词;例如,假如字典
3、 T=a,aa, aaa, b, ba, 假如你输入 a,那么输出应当为 a, aa, aaa;5)给定一个单词,输出在 Dictionary 中以这个单词为前缀的单词的显现频率最高的 10 个单词,对于具有相同显现次数的情形,依据最近 即最终)插入的单词优先级比较高的原就输出;对于以下问题,需采纳2 种不同的数据结构 hash散列与 Trie 树,并针对以下题目,比较两种数据结构的优缺点;)3)高级型问题 6)现在我们有一些Document,每个 Document 由一些单词组成,现在的问题就 是 给 你 一 个 word , 检 索 出 哪 些Document 包 含 这 个 word ,
4、 输 出 这 些Document 的 DocumentID就犹如搜寻引擎一样,即输入一些关键字,然后检索出和这些关键字相关的文档);7)在第 6)问中,我们只考虑了一个 word 在哪些 Document 中的情形,我们进一步考虑 2 个相邻 word 的情形,检索出同时包含这两个相邻 word 的DocumentID;4)挑战型问题8)现在我们再对 7)的问题进行扩展,把 7)中的只检索相邻 2 个 word 推广到可以检索多个 word=2),检索出同时包含 k个连续 word 的 DocumentID; 试验目的:学会使用哈希函数检索,运用指定要求算法,解决一系列单词检索问题;一需求分析
5、 1. 本演示程序中,由程序读取文件,依据程序要求自动生成所需要的文件;名师归纳总结 - - - - - - -第 2 页,共 12 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用2. 演示程序执行终止后,由运算机终端显示“ 提示信息” ,以示某一问题完成 与否;3. 程序执行的命令包括:(1)读取文件; 2)构造字典; 3)实现查找; 4)实现排序; 4)写入结 果;二概要设计为了实现上述操作,采纳次序表储备结构;1. 基本操作Create_HashTable 初始条件:存在一个次序表Hash;对应的显现次数,并写入另操作结果:读取文件,查找单词在字典Dict
6、ionary一文件;如不在字典Dictionary中,就写入 NO;Sort_CountHNode Hash 初始条件:存在一个次序表Hash;操作结果:查找显现次数最高的10 个单词,并写入另一文件;Same_PrefixDataHNode Hash 初始条件:存在一个次序表Hash;Dictionary中以此单词为前缀的全部操作结果:读取文件中的单词,查找字典单词,并以字典序写入另一文件;如不存在,就写入空;2. 本程序包含四个模块 1 主函数模块; 2 构造字典模块; 3 查找次数模块; 4 前缀匹配模块; 5 排序及写入模块;3. 函数调用关系图主函数模块构造字典模块查找次数模块前缀匹
7、配模块 排序及写入模块三具体设计名师归纳总结 - - - - - - -第 3 页,共 12 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用3. 结构体类型 #include #include #include #include #define SIZE 10000 /哈希之后的链表数以及 PClist的长度#define len 50 /定义字符串的长度#define MAX 40000 /定义 CNode类型 CList长度#define MaxSize 10000 /定义 CNode类型的 PListtypedef struct CNode char da
8、talen; / 单词int count; / 单词显现的次数 CNode;CNode CListMAX ;CNode PListMaxSize;CNode PCListMaxSizetypedef struct Node char datalen; / 单词 struct Node *next; / 链表指针int count; / 单词显现的次数 Node;typedef struct HNode Node *right;/ 头结点指针 HNode;HNode HashSIZE ;4. 每个模块的分析 1 主函数模块 int main Create_HashTable;/ 生成字典 Sea
9、rch_dataHash ;/ 实现查找单词对应次数;/ 查找显现单词的次数频数前十的单词 j=Sort_CountHash Same_PrefixDataHash ; / 查找以某单词为前缀的单词并排序 Same_PrefixFrequenceHash; 2 构造字典模块 void Create_HashTable 名师归纳总结 - - - - - - -第 4 页,共 12 页精选学习资料 - - - - - - - - - 个人资料整理 仅限学习使用/ 链地址法利用哈希函数构造字典 Dictionary,单词来自文档 vocabulary.txt fori=0;iHashi.right=
10、NULL;/Hash.right初始化fp1=fopen,r; while.feoffp1 fscanffp1,%s,data; hd=ELFHashdata;/ELFHash 返回值 q=new Node;q-data=data; q-count=1; p=Hashhd.right; ifp=NULLq-next=NULL;Hashhd.right=q; else whilep.=NULL r=strcmpq-data,p-data; ifr=0p-count+;break ;/data 相同,次数加 1 else ifrq-next=p;Hashhd.right=q; break ;/q
11、插在 p 与头结点之间 else ifr0 ifp-next=NULLp-next=q; q-next=NULL ;break ;/p-next为空,直接尾部接入 else ifstrcmpq-data,p-next-data/ 插入 p 与 q 之间 q-next=p-next;p-next=q ;break ; else p=p-next; /whilep /else /whilefp1 fclosefp1;/Create_HashTable 生成字典 Dictionary 3 查找次数模块void Search_dataHNode Hash FILE *fp1,*fp2“ ”;, “w”
12、 ; fp1=fopen, “ r ” ;fp2=fopen “ ” while.feoffp1 fscanffp1,%s,ch; m=ELFHashch ;/ELFHash 返回值 p=Hashm.right; whilep 名师归纳总结 - - - - - - -第 5 页,共 12 页精选学习资料 - - - - - - - - - comp=strcmpch,p-data;个人资料整理仅限学习使用ifcomp=0fprintffp2,p-count;break ;/ 查找胜利else p=p-next; ifp=NULL/未找到该单词,CASE i:NO fclose;/Search_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 西北工业大学 数据结构 课程 方案 实验 报告
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内