Menioyer Menioyer
关注数: 13 粉丝数: 90 发帖数: 883 关注贴吧数: 4
数据结构课程设计,求大神帮忙,价格可议 实习题目: 基于线性表和二叉排序树的低频词过滤系统 实习环境: 实习内容: 对于一篇给定的英文文章,分别利用线性表和二叉排序树来实现单词频率的统计,实现低频词的过滤,并比较两种方法的效率。 实习要求: 1. 读取英文文章文件(InFile.txt),识别其中的单词。 2. 分别利用线性表和二叉排序树构建单词的存储结构。当识别出一个单词后,若线性表或者二叉排序树中没有该单词,则在适当的位置上添加该单词;若该单词已经被识别,则增加其出现的频率。 3. 统计结束后,删除出现频率低于五次的单词,并显示该单词和其出现频率。 4.其余单词及其出现频率按照从高到低的次序输出到文件中(OutFile.txt),同时输出用两种方法完成该工作所用的时间。 5.计算查找表的ASL值,分析比较两种方法的效率。 6.系统运行后主菜单如下: 当选择1后进入以下界面: 其中选择2时显示利用线性表来实现所有功能所用的时间。 当在主菜单选择2二叉排序树后,进入的界面与上图类同。 选做内容: 1、 将剩余单词所构成的二叉排序树调整为一棵二叉平衡树。 2、 实现窗口界面。 实现提示: 1、在统计的过程中,分词时可以利用空格或者标点符号作为划分单词依据,文章中默认只包含英文单词和标点符号。 2、对单词进行排序时,是按照字母序进行的,每个结点还应包含该单词出现的频率。 3、存储结构的定义 l 二叉排序树的存储表示 typedef struct BSTNode{ string WordName;//单词名称 int count; //单词出现频率 struct BSTNode *lChild,*rChild; } BSTNode, *BSTree; 4、实现过程可参见教材上线性表和二叉排序树的相关算法。
首页 1 2 下一页