首页 > 代码库 > SoftwareEngineering Individual Project - Word frequency program
SoftwareEngineering Individual Project - Word frequency program
说实话前面c#实在没怎么学过。这次写起来感觉非常陌生,就连怎么引用名空间都忘记了。在经过恶补后还是慢慢地适应了。
1.项目预计用时:
构建并写出大概的数据结构,程序框架及模块: 30min
实现文件夹递归方问方法 :30min
实现从文件中读出符合要求的单词并统计 :2-3h
实现对单词的排序 : 1h
输出:10min
细节修改及错误排查:2-3h
程序优化: 1h
2.项目的实际用时:
构建并写出大概的数据结构,程序框架及模块: 30min
实现文件夹递归方问方法 :30min
实现从文件中读出符合要求的单词并统计 :3h
实现对单词的排序 : 30min
输出:5min
细节修改及错误排查:2h
程序优化: 1h
3.项目分析和优化
对于词频统计这项目,若想写好,需要考虑用什么数据结构来储存单词的统计信息。按照project的要求,需要输出的信息为出现的第一字典序单词,以及该单词的词频,而且需要进行相应的排序。最开始是用hashtable,后来发现并不好进行排序,所以最后选择了Directory这个数据结构来保存相应的统计信息,每个单词的全小写可以作为唯一标识的key值来进行索引,而value我是用自己建立的一个数据结构来保存已经出现的第一字典序单词以及词频。这样每次都可以取出所保存的单词与当前遇到的单词进行比较,并将字典序较高者保存下来。
4.项目的测试用例:
1).测试最基本的单词分辨:
We love china,and we are Chinese.China is a beautiful country.
abc123 123abc ...Abc123
2)测试两个连续单词分辨;
3)测试两个连续单词分辨;
4)多文件遍历读取测试;
5)空文件读取测试;
6)基本统计数据正确性测试;
7)两个连续单词统计数据正确性测试;
8)三个连续单词统计数据正确性测试;
9)汉字测试;
10)大文件夹统计测试;
--------------------------------------
SoftwareEngineering Individual Project - Word frequency program