zoukankan      html  css  js  c++  java
  • 软工第一次作业 进度记录2

    1. 进度:

    编码真的真的真的完成了。再也不重构了。

    将string改为char数组,增大了哈希表容量,加快了速度。

    采用nunit框架单元测试,能够通过自己的单元测试,但是对sample结果还是不一样。

    2. 现有模块:

    traverse_file:通过io.h遍历文件夹。已经彻底调试过,能应对空文件夹等可能出bug的情况。

    • 现有问题:可能不方便移植。

    count:由于文件读写太慢,决定字符统计、单词统计两个模块一起进行。这个模块通过输入流,将各个字符分别发送给两个模块,让两个模块各自计数。

    count_char:通过字符流统计字符数、行数。

    • 现有问题:统计结果和标准sample不同。这里很简单,不会有bug,打算和同学讨论、比对统计结果,以确定标准。

    word_pool:快速存取、计数单词与词组。

    • WordPool类使用两个拉链式哈希表,分别存储单词与词组。
    • 可以将单词的expression(实际表达式)转化为format(去掉数字后缀,全部小写)。将两个单词的expression、format分别拼接成词组的expression、format。
    • 单词长度限制为WORD_SIZE,暂定20。该部分不对字符串合法性进行检查。
    • 用结构体存取、统计给定的长度有限expression与format,并将长度过长的丢弃。wnode结构体为单词节点,pnode结构体为词组节点。

    count_word:通过字符流解析单词,将单词与词组存入word_pool。

    主模块:获取命令行参数,调用traverse_file模块获得各个文件名,打开文件流,调用count计数。

    3. 废除模块:

    cmd_analyse:最简单的模块。只是单纯通过argc、argv读出地址。

    • 问题:还不确定助教需要怎样的命令行参数。有可能助教使用的命令行非常简单,以至于解析功能都有点多余……
    • 废除原因:似乎对命令行的需求非常简单,直接读取数组即可。
  • 相关阅读:
    P1197 [JSOI2008]星球大战[并查集+图论]
    P1955 [NOI2015]程序自动分析[离散化+并查集]
    取模运算律[简单数学]
    P1462 通往奥格瑞玛的道路[最短路+二分+堆优化]
    P1330 封锁阳光大学[搜索+染色]
    P1168 中位数[堆 优先队列]
    P2661 信息传递[最小环+边带权并查集]
    P1080 【NOIP 2012】 国王游戏[贪心+高精度]
    P2085 最小函数值[优先队列]
    【转】priority_queue的用法
  • 原文地址:https://www.cnblogs.com/jennawu/p/8658032.html
Copyright © 2011-2022 走看看