博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SoftwareEngineering Individual Project - Word frequency program
阅读量:6182 次
发布时间:2019-06-21

本文共 953 字,大约阅读时间需要 3 分钟。

说实话前面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)大文件夹统计测试;

--------------------------------------

 

  

 

  

  

转载于:https://www.cnblogs.com/Linhs/p/3993675.html

你可能感兴趣的文章
增加wamp64 PHP支持版本
查看>>
重复枚举和不重复枚举
查看>>
ES正常停止步骤
查看>>
通配符的匹配很全面, 但无法找到元素 'context:component-scan' 的声明。
查看>>
Kafka的CommitFailedException异常
查看>>
思考与阅读
查看>>
ES6
查看>>
Wireshark中的一些SNMP相关的过滤器
查看>>
java8 新特性
查看>>
Xilinx Vivado的使用详细介绍(1):创建工程、编写代码、行为仿真、Testbench
查看>>
在 Scale Up 中使用 Health Check - 每天5分钟玩转 Docker 容器技术(145)
查看>>
基于 HTML5 Canvas 实现的文字动画特效
查看>>
jsp c标签不遍历的方法
查看>>
Linux命令:pigz多线程压缩工具【转】
查看>>
Python学习笔记——与爬虫相关的网络知识
查看>>
paip.php eclipse output echo 乱码
查看>>
第三代搜索推出网民评价系统,seo末日还会远吗?
查看>>
深入浅出CChart 每日一课——第十八课 女神的套娃,玩转对话框
查看>>
mybatis使用小记
查看>>
Servlet之Filter详解
查看>>