福大软工1816 · 第二次作业 - 个人项目2

库地址:https://github.com/Nicolagl/031602617

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

解题思路
看到题目的第一眼,感觉就是字符串的处理,有点像之前做过的回文串类似的题目,但具体的算法和过程已经记不太清了。于是搜了一下关于字符,词组,单词的处理,发现了哈希表和散列表。
参考了以下几个博客的文章:
https://blog.csdn.net/matrix_designer/article/details/6462284
https://blog.csdn.net/misskissc/article/details/17505167
https://blog.csdn.net/alburthoffman/article/details/19641123
https://www.cnblogs.com/ustcccj/archive/2018/03/30/8678755.html
总结题目的算法部分,大致基本是字符的识别,单词的识别,以及频率的计算。

字符识别

单词

前十

自己的测试

关于性能分析,由于之前未学习过来自文件的文本输入输出,于是基本完全参照了https://github.com/eudaem/homework1/blob/master/PB16061441/hw1(终版).cpp的代码,但没有找到分析性能时加入数据的方法,问了同学并尝试后也并无建树,因此这一部分不是十分理想。

总结
本次项目的前期准备工作对我来说是有史以来最长的了,因为Git和Github对我来说基本是全新的内容,从来没有使用过。首先学习了赵畅同学分享给我的教程:http://www.cnblogs.com/schaepher/p/5561193.html?tdsourcetag=s_pcqq_aiomsg#others。
然而,为了实现老师“Visual Studio Community 2017“进行开发,运行环境为64-bit Windows 10”的环境,我直接重装的了系统,但为了省事用了ghost,结果在安装完git之后,git bash各种闪退,各种调试均无成效,想起来也只可能是系统出了问题。只好再装一次系统,终于git不闪退了,但这也花去了不少的宝贵时间。
由于初次认识Git,基本语句实践起来也是问题多多,关于本地库和网络的关联也着实研究了一个晚上,参考了各种资料和网站的问题分析,对GitHub也算是有了新的认识。
但在代码方面,借鉴和引用的地方就偏多了些,一个是第一次面对有接口和封装的题目,并且c++也有所退步。我一定会在近期加紧补习c与算法的知识,在之后的作业里靠自己的力量取得胜利。

posted on 2018-09-12 20:31  Nicola(葛亮)  阅读(165)  评论(0编辑  收藏  举报

导航