第一次编程作业

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了第一次编程作业脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_777_0@ 这个作业属于那个课程 班级链接 这个作业的要求在哪里 作业链接 这个作业的目标 论文查重算法设计+学习PSP表格+单元测试+JPRofiler性能分析+GIT管理

一、GitHub

3119005463

二、原理介绍

SimHash
SimHash本身属于一种局部敏感hash,其主要思想是降维,将高维的特征向量转化成一个f位的指纹(fingerprint),通过算出两个指纹的海明距离(hamming distince)来确定两篇文章的相似度,海明距离越小,相似度越低(根据 detecting Near-Duplicates for Web Crawling 论文中所说),一般海明距离为3就代表两篇文章相同。

SimHash算法分为5个步骤:1.分词,2.hash,3.加权,4.合并,5.降维

  1. 分词:本次所使用的分词器是IKAnalysis,需要安装 IKAnalyzer2012_u6.jar包
  2. hash:通过hash算法把每个词变成hash值
  3. 加权:通过 2步骤的hash生成结果,需要按照单词的权重形成加权数字串
  4. 合并:把上面各个单词算出来的序列值累加,变成只有一个序列串
  5. 降维:将第四步计算出来的序列串变为01串,形成我们最终的simhash签名。 如果每一位大于0记为1,小于0记为0。

第一次编程作业

三、算法实现

工程结构

第一次编程作业

关键代码

第一次编程作业

运行结果

第一次编程作业

四、模块接口的性能展示

  • 内存消耗

    第一次编程作业

  • CPU负载

    第一次编程作业

  • 堆内存消耗情况

    第一次编程作业

五、计算模块部分单元测试显示

单元测试代码

第一次编程作业

第一次编程作业

测试结果

第一次编程作业

六、PSP表格

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

七、总结

本次作业让我学到了很多东西,受益匪浅。也发现了很多问题,比如对git,github不熟悉,编程能力也不够强。希望以后能多练习,取得更大的进步。

脚本宝典总结

以上是脚本宝典为你收集整理的第一次编程作业全部内容,希望文章能够帮你解决第一次编程作业所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。