zoukankan      html  css  js  c++  java
  • 软共第二次作业:词频计数

    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里,还自以为棒棒的,后来在写头文件的时候错误连连,才感叹自己的水平不如别人。很感谢这次作业,让我这个大菜鸡稍微有点儿长进,虽然还差的远呢!

  • 相关阅读:
    MySQL内连接和外连接
    MySQL 重命名数据库
    linux查看文件大小
    Linux合并两个文件夹内容
    Linux压缩和解压命令
    深度学习反向求导
    深度学习网络压缩模型方法总结
    cuda培训素材
    cuda编程-卷积优化
    交叉熵代价函数(损失函数)及其求导推导
  • 原文地址:https://www.cnblogs.com/hyh1072797231/p/9637584.html
Copyright © 2011-2022 走看看