zoukankan      html  css  js  c++  java
  • Individual Project 1 总结

    题目: http://www.cnblogs.com/jiel/p/3978727.html

    1. 估计时间:

    ① 遍历目录找到所有文本文件 3天

    ② 编写统计词频的函数 排序的函数 并输出到文件 2天

    ③ 实现扩展模式 3天

    2. 实际时间

    有些忘记了...开启优化花了好长时间...因为自己的VS2012性能分析之后不能显示函数花费时间的百分比

    加上是英文版 觉得看着不舒服 于是重装了中文版的2013

    ① 遍历目录找到所有文本文件 13小时

    ② 编写统计词频的函数 排序的函数 并输出到文件 1天

    ③ 实现扩展模式 1天

    3.关于优化

    先上未优化的性能分析图

    可以看见最占时间的函数是 StrEqual() (比较两个string是否相等,大小写不敏感),因为我每找到一个符合的string都会遍历vector 中的所有string并和它们进行比较

    我的优化方案是:

    将word存入到二叉排序树,每次找到一个符合的string去和二叉树匹配,二分查找,很大程度上提高了效率,以下分析图用例和优化前的测试用例为同一测试用例

    PS:

    写完程序已经是24号了,25号上午上课,下午打了一会球,晚上面试...挤出了时间终于完成了优化,复习了关于树方面的知识,好高兴!

    4.TestCases

    注:程序默认输入格式是正确的

    ①测试带有空的子文件夹的目录

    结果如下:

    ②测试扩展模式 -e2

    与期望相符

    ③测试扩展模式 -e3

    与期望相符

    ④测试大小写合并

    与期望相符

    ⑤验证文件类型

    若干个文件,内容都为:

    hello Hello heLLo yyy XXX xxx xxx

    文件类型分别为:

    txt, cpp, h, cs, png

    结果:

    <Hello> 12
    <XXX> 12
    <yyy> 4

    与期望相符

    ⑥测试词的区分能力

    inm@#ydream#@iamnots ofaraw*(()ayfr!@o mhome

    结果:

    <ayfr> 1
    <iamnots> 1
    <inm> 1
    <mhome> 1
    <ofaraw> 1
    <ydream> 1

    与期望相符

    ⑦测试递归扫描能力

    根目录下是一个文件和一个目录,目录下是一个文件和一个目录,目录下又是一个文件。

    三个文件都是txt,内容一致:

    inm@#ydream#@iamnots ofaraw*(()ayfr!@o mhome

    结果:

    <ayfr> 3
    <iamnots> 3
    <inm> 3
    <mhome> 3
    <ofaraw> 3
    <ydream> 3

    与期望相符

    ⑧测试词的排序能力

    与期望相符

    ⑨测试连续两词

    与期望相符

    ⑩测试空文件夹或空文件

    屏幕输出 “没有符合的word”

    注:一些TestCases参照了张艺同学和黎柱金同学的Cases,特别感谢你们提供了不错的测试方案!!

    5.所学

    学会了用性能分析工具查看哪部分代码浪费了时间,学到了WIN32_FIND_DATA结构体,学到了关于fstream操作文件方面的知识等。

  • 相关阅读:
    消息中间件(一)MQ详解及四大MQ比较
    SIP协议
    PAT (Basic Level) Practice 1008 数组元素循环右移问题
    LeetCode-Algorithms 1. 两数之和
    PAT (Basic Level) Practice 1040 有几个PAT
    PAT (Basic Level) Practice 1023 组个最小数
    PAT (Basic Level) Practice 1021 个位数统计
    PAT (Basic Level) Practice 1007 素数对猜想
    PAT (Basic Level) Practice 1006 换个格式输出整数
    PAT (Basic Level) Practice 1004 成绩排名
  • 原文地址:https://www.cnblogs.com/Squeen/p/3988353.html
Copyright © 2011-2022 走看看