Project: Individual Project - Word frequency program-11061160顾泽鹏
一、预计用时:
(1)明确要求:15min;
(2)文件的遍历:1h;
(3)Simple mode 词频统计:0.5h;
(4)extend mode 词频统计:1h;
(5)对单词词频排序输出:0.5h;
(6)测试与调试:2h;
(7)程序优化:2h;
二、实际用时:
(1)遍历文件夹:本来以为这部分不会很难,结果自己动手的时候才发现对于递归遍历子目录一筹莫展,最终还是参考的网上的数据,用时比较久,4h
(2)Simple词频统计:在这部分中,首先将合法的单词提取了出来,花了1.5h,然后进行统计,花费了0.5h
(3)Extend词频统计:统计部分,比较难的是提取单词,提取出来以后,统计变得非常容易,只不过是增加了扩展模式对于是否是同一个单词的判断,花费了1h
(4)排序与输出:花费了40分钟
(5)测试与调试:3h;
在调试阶段,才发现一开始自己的想法中有许多不成熟的地方,比如说没有考虑到文件读取到末尾时,对于文件到了末尾没有采取判断措施,从而在词频统计时出了错,经过单步调试才发现了错误;其中也有花括号太多(眼花缭乱)配对错误导致bug百出等等;
在这部分花了比较久的时间,但是经过自己的调试,发现了自己先前许多不成熟的想法,我会从中吸取经验教训,这对于今后的编程有很大的警示作用。
经过自己的调试将错误一个一个的找出并最终成功运行,带来了非常大的成就感。
(6)程序优化:3h;
三、程序优化
因为第一次接触VS以及程序优化,所以走了很多弯路;
一开始,我拿简单的测试用例来进行程序分析,发现总是显示采集不到数据,在向别人讨教后,我改用网上下载的英文小说,扩充了样本量,这才开始了我的代码优化之旅~
性能分析如下:
%603.jpg)
JN4(JN9%60PHFMC]4V.jpg)

E(I)M(F6V]RR94.jpg)

map<string,int> wordMap;
还有一个问题是怎么样保存应该输出哪个单词,在这里我是用了另一个map<string, string>保存的。就是所有的单词全换成小写,作为下标。对于某个单词输出的时候,输出的值是该单词在第二个map对应的单词,以及第一个map里对应的次数。”
地址:http://www.cnblogs.com/Z-XML/p/3329234.html
我一开始是开数组实现的,现在使用了map后,经过测试,运行效率提高了不少(较之刚才),但不知道有没有更好地方法,希望作业提交上去之后,会有大神提出指导意见帮助我进一步改进代码。
四、测试用例
108H@@ENI]S2FFC~CFX.jpg)




A3EUPRR9.jpg)
8JK8RU$VS%7BF)1BP%258@J1P.jpg)
8Q4%7D3Y$MGSG_O(J__BD~E.jpg)

U.jpg)


VEX5AKU%7DPR%7DWT9C48K2.jpg)

Project: Individual Project - Word frequency program-11061160顾泽鹏的更多相关文章
- 11061160顾泽鹏homework-01
我的Github地址是buaa11061160 教材:中文版 代码大全 (第二版) 斯蒂夫·迈克康奈尔 设计思路: 输入了一串数组a[0].a[1]..... 从a[0]开始向后扫,在以数字a[i]结 ...
- SoftwareEngineering Individual Project - Word frequency program
说实话前面c#实在没怎么学过.这次写起来感觉非常陌生,就连怎么引用名空间都忘记了.在经过恶补后还是慢慢地适应了. 1.项目预计用时: 构建并写出大概的数据结构,程序框架及模块: 30min 实现文件夹 ...
- Individual Project - Word frequency program by HJB
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;us ...
- Limeng:Individual Project: Word frequency program -BUAA Advanced Software Engineering
11061190-李孟 Implement a console application to tally the frequency of words under a directory (2 mod ...
- Individual Project - Word frequency program - Multi Thread And Optimization
作业说明详见:http://www.cnblogs.com/jiel/p/3978727.html 一.开始写代码前的规划: 1.尝试用C#来写,之前没有学过C#,所以打算先花1天的时间学习C# 2. ...
- Individual Project - Word frequency program——12061154Joy
Description&Requirement: http://www.cnblogs.com/jiel/p/3978727.html 项目时间估计 理解项目要求: 1h 构建项目逻辑: 1h ...
- Individual Project - Word frequency program
1.项目预计用时 -计划学习C#和百度一些用法的时间:5小时 -项目本身打算写两个类,一个是遍历搜索文件夹的,另外一个用来统计单词.计划用时:5小时 2.项目实际用时 学习C#以及正则表达式的用法:3 ...
- Record for Individual Project ( Word frequency program )
1. 预计时间 ● 对问题总体的理解.规划:10 min ● 设计编写程序:5 h ● 调试: 分模块-40 min; 总体-40min ● 测试(性能分析).改进:1 h 2. 实际用时 ● 对 ...
- THE First Individual Project - Word frequency program
第一次写博客,这次也是本学期写到第一个程序. 老师要求网址:http://www.cnblogs.com/jiel/p/3311400.html#2777556 一.项目预计时间 一开始想使用不熟悉的 ...
随机推荐
- python自动化测试遇到的零零碎碎
1.需求: 提取xx.py中所有的函数名,形成一个类似于索引的参考. 解决方式: grep "def" *.py| awk '{print $2}'|awk -F ':' '{pr ...
- [置顶] Putty管理私钥文件
openssh中,ssh_keygen产生的私钥,id_rsa这种密钥putty是不认识的,必须先把它转换成ppk格式, Windows上如果你安装了git,它里面bin目录下就有ssh_keygen ...
- Photography theory: a beginner's guide(telegraph.co.uk)
By Diane Smyth, Tim Clark, Rachel Segal Hamilton and Lewis Bush 11:00AM BST 09 Jun 2014 Have you r ...
- 你需要知道的九大排序算法【Python实现】之插入排序
三.插入排序 基本思想:插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的.个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2).是稳定的排序方法.插入算 ...
- SecureCRT连接vm中的ubuntu
如何使用SecureCRT连接ubuntu 用secureCRT连接Ubuntu是出现远程系统拒绝访问..经过一翻研究才知道Ubuntu上没有ssh.. 一下为连接过程. 1. 首先要明白什么是ssh ...
- JavaScript MVC 框架[转载]
MVC,MVP 和 MVVM 的图示 http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html http://blog.nodejitsu.com ...
- 数据库日期类型转换–HSQL
最近遇到要用HSQL查询离某个时间的后十分钟的记录,不像Oracle和SqlServer中可以直接有函数转换,而是直接通过'+'来得到 Hsql Document -- standard forms ...
- CSS 命名规则
CSS书写顺序: 位置属性(position, top, right, z-index,display, float等) 大小(width, height, padding, margin) 文字系列 ...
- 手机Web网站,设置拒绝电脑访问
最近一段时间,都在使用Jquery-Mobile + MVC做手机Web,有一些心得.体会 下面介绍如何拒绝电脑访问手机网站 电脑的浏览器,跟手机的浏览器内核不一样,这是我设置拒绝访问的思路. 下面是 ...
- 制作ado开发辅助工具类SqlHelper
public static class SqlHelper { //通过配置文件获取连接字符创 private static readonly string constr = Configuratio ...