软共第二次作业:词频计数

1、git 代码:

千辛万苦地代码

2、PSP表格:

3、计算模块接口的设计与实现过程

总共有三个类分别是 CharactersWordcountFrequency,三个类都有函数get_filename,以及读取字符的函数;
不同的是对文件的操作不同:
Characters中的char_count函数是对文件字符计数(包括空格和回车)
Wordcount是记录文件中符合要求的单词,根据所学的自动机可以得到下图

每当从E转移到A时,把E记录下,但当读取到文件最后一个字符时,若仍在E状态,容易遗漏,则在函数末加一个判断。

Frequency中的word_map函数对单词进行排序;输出时若不满十个则输出“不满十个”

4、计算模块接口部分的性能改进

重点修改了Wordcount中排序的函数,记录单词时用map记录,排序时将map转移至新的pair进行sort,后来想只要频率前十的单词,那不如把map的元素存入对应结构体链表中,做十次冒泡,就改进了。

5、计算模块部分单元测试展示

CPU利用率:

代码覆盖率:

单元测试:

感想:

说实话,这次作业很棒,我个人很喜欢,就如老师所说,差一点就完成不了,虽然实际代码比较简单,但是锻炼了我写文件输入、写头文件、测试文件、控制台操作的能力,几乎可以说是从无到有,最开始的代码全部写在一个main里,还自以为棒棒的,后来在写头文件的时候错误连连,才感叹自己的水平不如别人。很感谢这次作业,让我这个大菜鸡稍微有点儿长进,虽然还差的远呢!

posted @ 2018-09-12 21:45  胖若两人  阅读(146)  评论(0编辑  收藏  举报