个人项目-论文查重

作业

作业课程 班级链接
作业要求 作业链接
作业目标 个人项目-论文查重

1.项目地址

传送门

2.PSP

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

3.函数设计

  1. 一个读入文件进字符串对象的函数
  2. 一个对两个字符串求重复率的函数
  3. 对编码的初始化的函数

4.算法核心

原本采用O(NM)的动态规划算法求得最长公共子序列,然而有点慢。因为中文字符集较大,重复字符较少,于是对其进行优化,记录一个字符串所有字符出现位置,再遍历另一个字符串时,将同字符的位置倒序插入,得到一个新的序列,对序列求最长上升子序列即是答案。

5.设计流程

6.性能分析

7.异常处理

当路径数不足或路径无效时提示并结束程序。

8.测试

对提供的测试文件,结果依次为0.84,0.82,0.97,0.84,0.68

心得与改进

原本不以为意的编码问题折腾了好一阵子,原本在vscode上无法运行的代码在vs上可以顺利运行。不是很懂。

可以将对重复率无影响的标点符号删去,因为标点符号出现频率较高,可以有效提高程序运行速度。

posted @ 2020-09-25 00:00  bluebear2  阅读(175)  评论(0)    收藏  举报