zoukankan      html  css  js  c++  java
  • 第二次作业——个人项目实战

    作业链接
    GitHub

        在(00:12)终于改完了bug,我的结果也终于和同学的结果一致了。在此感谢
    

    璟哥
    源神
    这个453万的字符串我终于是跑对了。还是代码量太少了,前天璟哥跟我讲了一个小时,从头到尾,我听是听明白了,但是轮到自己写的时候,就开始各种迷茫,乱,先后顺序都很懵。但是学到了一个总体的框架,class类啊,.h文件,类功能的独立,这些倒是学到了。照着他的框架我自己敲了一边代码,璟哥是个很严格的人,不会给我代码,但是允许我去他的电脑上面看他写的代码,不懂可以问。但是他的核心算法我还是知其然,不知其所以然。没办法,我自己开始了自己的想法。

    PSP表格

    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 10 20
    • Estimate • 估计这个任务需要多少时间 10 20
    Development 开发 380 640
    • Analysis • 需求分析 (包括学习新技术) 50 100
    • Design Spec • 生成设计文档 10 10
    • Design Review • 设计复审 20 20
    • Coding Standard • 代码规范 (为目前的开发制定合适的规范) 10 10
    • Design • 具体设计 20 20
    • Coding • 具体编码 180 300
    • Code Review • 代码复审 60 120
    • Test • 测试(自我测试,修改代码,提交修改) 30 60
    Reporting 报告 60 90
    • Test Repor • 测试报告 10 10
    • Size Measurement • 计算工作量 20 20
    • Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 30 60
    合计 450 750

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

        学习了璟哥的框架,写了一个工具类,里面的函数如下:
    
    • static int count(map<string, int> mp)//计算单词总数;
    • static int GetLines(string s)//计算行数;
    • static string GetString(ifstream& in)//得到文本的字符串;
    • static vector<pair<int,string> > getSort(map<string, int> mp)//排序;
    • static map<string, int> countWord(string s)//得到单词映射表;

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

        性能改进我还没时间去考虑,熬了两天夜才把具体代码肝出来,目前只能想到cin,cout改成scanf,printf之类的小优化。
    

    计算模块单元测试部分

        未完成。
    

    遇到的问题

        我的思路是
        1、先逐个字符读进来,存在一个string里面,读的时候进行预处理,把大写的字母全部处理成小写的字母,其他的不变,得到一个字符串。
    
        2、判断是否为单词:
    
                a版本:先找到一个英文字母,然后找到离它最近的下一个非英文字母非数字的符号,然后把这段字符串截出来,先用.length()判断字符串长度是否大于等于4,不是的话,从刚刚找到的非英文字母非数字的符号继续遍历,再找到下一个英文字符。如果长度大于4,就判断他的前四位是不是英文字符,是的话,这就是一个单词。然而a版本有个致命性的错误,123abcd11,类似这种,abcd11就会被我提取出来,并当作单词。于是乎有了b版本。
    
                b版本:先找到一个英文或数字字符,后面的思路不变。这样子跑出来的结果就是和他们俩的结果一样了。因为我的处理是判断前四位是不是英文字母,并设有一个标志位。如果被判定为英文单词,就把单词放进map中。再利用vector,然后sort一下,结果就出来了(我还是偷懒了,哈哈哈哈哈)。还有一个致命的问题,我的行数统计答案应该还是错误的,理解璟哥的想法,然后自己写一遍,9万多行,到我这里就变成12万了。真的是太真实了。
    

    flag

        买的Java编程思想已经到了,刚刚到的,可以开始看书,敲书上的代码了,在这里欠下的债,慢慢补回来。
  • 相关阅读:
    URAL——DFS找规律——Nudnik Photographer
    URAL1353——DP——Milliard Vasya's Function
    URAL1203——DPor贪心——Scientific Conference
    递推DP HDOJ 5389 Zero Escape
    区间DP UVA 1351 String Compression
    树形DP UVA 1292 Strategic game
    Manacher HDOJ 5371 Hotaru's problem
    同余模定理 HDOJ 5373 The shortest problem
    递推DP HDOJ 5375 Gray code
    最大子序列和 HDOJ 1003 Max Sum
  • 原文地址:https://www.cnblogs.com/nanjibin/p/9637730.html
Copyright © 2011-2022 走看看