-1作业概述
| 这个作业属于哪个课程 | 《软件工程》 |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/CSGrade21-34/homework/13023 |
| 这个作业的目标 | 设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率。 |
| GitHub链接 | https://github.com/CNGD26548/3121005078 |
-2 PSP表格
| 项目 | 预计耗时(分钟) | 实际耗时(分钟) |
|---|---|---|
| 计划 | 10 | 15 |
| 估计这个任务需要多长时间 | 10 | 15 |
| 开发 | 120 | 120 |
| 需求分析 | 10 | 10 |
| 生成设计文档 | 10 | 10 |
| 设计复审 | 20 | 30 |
| 代码规范 | 10 | 10 |
| 具体设计 | 20 | 20 |
| 具体编码 | 120 | 120 |
| 代码复审 | 10 | 30 |
| 测试 | 20 | 20 |
| 报告 | 10 | 20 |
| 测试报告 | 30 | 40 |
| 计算工作量 | 20 | 20 |
| 事后总结 | 20 | 20 |
| 合计 | 180 | 190 |
-3 需求分析
设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率。
原文示例:今天是星期天,天气晴,今天晚上我要去看电影。
抄袭版示例:今天是周天,天气晴朗,我晚上要去看电影。
要求输入输出采用文件输入输出,规范如下:
从命令行参数给出:论文原文的文件的绝对路径。
从命令行参数给出:抄袭版论文的文件的绝对路径。
从命令行参数给出:输出的答案文件的绝对路径。
-4 接口实现
ioPart只有一个read方法,用以读文件
Main中有readText和calSame。readText用以读文件,calSame用以计算相似度.核心算法即为calSame,核心思想是使用文字包处理集收集词集,然后通过遍历对比,计算相似度。
-5性能分析


缺点:在读入文件后,对比的时候消耗比较大的性能,但持续的时间比较短,换成其他算法有比较大的改进空间。我在尝试新的算法。
-6单元测试


使用orig.txt和orig_0.8_add.txt进行测试。
注意:必须输入\来代替\(转义字符),需要正确输入文件URL。