数据结构报告—实现对字典的查找

数据结构报告—实现对字典的查找

ID:44509520

大小:335.74 KB

页数:16页

时间:2019-10-22

数据结构报告—实现对字典的查找_第1页
数据结构报告—实现对字典的查找_第2页
数据结构报告—实现对字典的查找_第3页
数据结构报告—实现对字典的查找_第4页
数据结构报告—实现对字典的查找_第5页
资源描述:

《数据结构报告—实现对字典的查找》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数据结构课程设计报告主题:实现字典的查找学号:20131004463班级:191131—05姓名:樊润宇指导老师:郭艳内容概要(1)题目要求;(2)实现字典的查找的要点;(3)函数模块及各函数可实现的功能简介;(4)具体的源代码;(5)使用说明;(6)实验心得;题目要求如下:采用分块杳找,哈希表杳找,二叉排序树查找等不同方法实现对字典的杳找,并分析不同杳找方法的效率。二:构思要点:1.定义一个Dictionary结构:里面包含单词和单词意义属性:structDictionary!stringword;stringpara;};2.定义一个管理器类Manage,

2、里而包含Dictionary类型的向量容器,和读取dictionary.txt的Rcadtxt(),以及二叉搜索树查找BiScarchTrccscarchO,分块查找Blockscarch()和哈希表查找HashTablesearch()等功能函数:classManagejprivate:vectorDie;public:voidRcadtxt();voidBiSearchTreesearch();voidBlocksearch();voidHashTablesearch();};3.各个功能函数的详细代码:voidManage::Re

3、adtxt():读取dictionary.txt里的单词表voidManage::Readtxt(){inti=0;stringa,b;Dictionaryd;ifstreamifile;ifile.open(Hdictionary.txt");〃打开文件if(!ifile){cout«"无法打开dictionary.txt!"«cndl;cxit(l);}while(ifile.eof()!=1){ifile»a»b;d.word=a;d.para=b;Dic.push_back(d);i++;}ifile.closeO;voidManage::HashTa

4、blesearch():哈希表查找函数voidManage::HashTablcscarch(){stringword;cout«"请输入你要查找的单词:"«endl;cin»word;HashTablemyHashTable(1.7*(int)Dic.size());stringb[2025];for(inti=0;i<(int)Dic.sizc();i++)b[i]=Dic[i].word;DataTypea[2025J;for(inti=0;i<(int)Dic.size();i++)a[i]=b[i];for(inti=0;i<(int)Dic.siz

5、c();i++)myHashTable.Insert(a[i]);stringk=myHashTable.IsIn(word);if(k==“字典中没有这个单词!”)cout«k«endl;clsc{for(inti:=0;i<(int)Dic.size();i++){if(Dic[i].word==k){位置*/}}cout«找成功,其位置为:”vvivvendl;/*如果找到该数,则输出其cout«Dic[i].word««Die[i].para«cndl;}}voidManage::Blocksearch():实现分块查找函数voidManage::Bl

6、ocksearch(){intj=0,k;stringkey;stringa[20251;for(inti=0;i<(int)Dic.sizc();i++)a[i]=Die[i].word;for(inti=0;i<=24;i++){index_table[i].start=j;/*确定每个块范围的起始值*/index_table[i].end=j+81-1;/*确定每个块范围的结束值*/j=j+81;index_table[i].key=afindex_tablefi].end];/*确定每个块范围中元素的最大值*/}cout«"请输入你要查找的单词:"«e

7、ndl;cin»key;k=block_search(key,a);/*调用函数进彳亍查找*/if(k>=0){cout«”査找成功,其位置为:”«k«endl;/*如果找到该词,则输出其位置*/cout«Dic[k].word««Dic[k].para«endl;}elsecout«”杳找失败!”«endl;/*若未找到则输岀提示信息*/}voidManage::BiSearchTreesearch():实现二叉搜索树查找函数voidManage::BiSearchTreesearch(){BiSearchTreesearchTree;str

8、inga[2O25J;for(inti

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。