个人项目

作业要求 链接
1.在Github仓库中新建一个学号为名的文件夹。
2.在开始实现程序之前,在PSP表格[附录2]记录下你估计在程序开发各个步骤上耗费的时间,在你实现程序之后,在PSP表格记录下你在程序的各个模块上实际花费的时间。
3.使用C++ 、Java语言或者python3实现,提交python代码时请附带上requirements.txt,。C++请使用Visual Studio Community 2017进行开发,
运行环境为64-bit Windows 10。对于C++/Java,还需将编译好的程序发布到Github仓库中的releases中
4.提交的代码要求经过Code Quality Analysis工具的分析并消除所有的警告。
5.完成项目的首个版本之后,请使用性能分析工具Studio Profiling Tools来找出代码中的性能瓶颈并进行改进。
6.使用Github[附录3]来管理源代码和测试用例,代码有进展即签入Github。签入记录不合理的项目会被助教抽查询问项目细节。
7.使用单元测试[附录4]对项目进行测试,并使用插件查看测试分支覆盖率等指标;写出至少10个测试用例确保你的程序能够正确处理各种情况。
要求链接
PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 60 80
Estimate 估计这个任务需要多少时间 1200
Development 开发 60 120
Analysis 需求分析 (包括学习新技术) 120 240
Design Spec 生成设计文档 120 120
Design Review 设计复审 300 100
Coding Standard 代码规范 (为目前的开发制定合适的规范) 120 120
Design 具体设计 120 240
Coding 具体编码 120 120
Code Review 代码复审 120
Test 测试(自我测试,修改代码,提交修改) 60 20
Reporting 报告 60 60
Test Repor 测试报告 60 60
Size Measurement 计算工作量 60 120
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 60 100
合计 1200 1500
github链接

思路

----
1.写入文本,并转成string模式
2.把文本的字符串通过SimHash算法求出其SimHash值,再使用海明算法求出距离
3.把距离写出文本

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

设计
实现过程
文本——》SimHash=分词,hash,加权,合并,降维——》得出两个SimHash值——》用海明算法算出距离——》把距离输入到指定的文本

性能分析

单元测试

文本的输入
SimHash的生成
海明算法的结果

使用例子

心得

在学习新算法的时间耗费比较多。而且有很多还没用相通之处,算法上也应该有很多需要优化的地方,但随意改动又会导致程序运行失败,说明还得多去熟悉程序语法
posted @ 2021-09-18 20:10  妖雨悠悠  阅读(79)  评论(0)    收藏  举报