首页 > 其他分享 >第一次个人项目

第一次个人项目

时间:2024-09-11 12:46:32浏览次数:1  
标签:60 20 string 个人 项目 fstream 30 第一次 120

这个作业属于 首页 - 计科22级12班 - 广东工业大学 - 班级博客 - 博客园 (cnblogs.com)
这个作业要求在哪 个人项目 - 作业 - 计科22级12班 - 班级博客 - 博客园 (cnblogs.com)
这个作业的目标 尝试个人项目的实现,熟悉开发环境

Github项目链接

futureseek/SE-test: SE-test (github.com)

PSP表格

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

项目设计

主函数

对控制台参数进行处理,调用各个模块代码依次进行。

Jieba类

对长语段进行分词处理

计算词频函数

对分开来的所有词语进行统计,计算在原语段的出现频率

计算余弦相似度

将不同的词出现频率作为空间向量各个维,所有的词语出现频率相乘作为点积,除以俩个语段的模长,求出余弦值。

image-20240909192431332

程序流程图

image-20240910162623511

算法的关键有三处:利用cppjie库分词处理,统计词频,计算余弦相似度

计算模块接口部分的性能改进

内存方面

image-20240910161141960

utf-8后缀文件由cppjieba分词库所调用,这些文件占据了文件IO的主要部分

通过减少单词库可以减少文件IO方面的消耗,或者选用模型更下的分词算法。

各函数消耗时间

image-20240910170005007

image-20240910170014373

由图可知,大量的时间消耗在了构建分词模型上

异常处理说明

读取文件接口

void readfile(string& text, string path) {
    ifstream fstream;
    fstream.open(path);
    if (fstream.is_open()) {
        string line;
        while (getline(fstream, line)) {
            //cout<<line<<endl;
            text += line;
        }
    }
    else {
        cout << "Failed to open the file" << endl;
        return;
    }
    //cout<<text<<endl;
    cout << "read over" << endl;
    fstream.close();
}

检测输出流是否正确打开

对于输出文件接口做同样操作

控制台参数读取

try {
    if (argc < 4) {
        throw string("the input is error");
    }
}
catch (string e) {
    cout << e << endl;
    return 0;
}

判断是否输入正确的参数

标签:60,20,string,个人,项目,fstream,30,第一次,120
From: https://www.cnblogs.com/hr1313/p/18408056

相关文章

  • asp.netcore8 + vue3 + mysql 自用记账项目(四)项目部署
    一、生成后台api服务 1、在系统生成的Dockerfile基础上,添加时区标识FROMmcr.microsoft.com/dotnet/aspnet:8.0ASbaseENVTZAsia/ShanghaiRUNln-snf/usr/share/zoneinfo/$TZ/etc/localtime&&echo$TZ>/etc/timezoneWORKDIR/appEXPOSE80EXPOSE443FROMmcr.......
  • asp.netcore8 + vue3 + mysql 自用记账项目(二)环境搭建
    一、vue1、node.js安装安装node.js的攻略网上有很多,这里就不多做赘述,安装完成后,验证是否正常然后就是配置淘宝镜像加速,配置环境变量等操作。2、vue安装上面安装完node.js之后,就可以安装vue环境了,网上同样很多,需要注意的是,vue安装完成了,最好将webpack模版、vue-cli、vue-rout......
  • asp.netcore8 + vue3 + mysql 自用记账项目(三)功能开发
    一、前端前端使用vue3+vant4组件实现页面功能。 1、创建vue3项目各个操作分别是:选择创建模式?手动创建选择项目模块?Babel,Kouter,Wuex,CSSPreprocessors选择vue版本?3.0是否使用历史路由模式?是样式的写法?Less项目配置放在哪?package.json文件里是否保存本次......
  • asp.netcore8 + vue3 + mysql 自用记账项目(一)背景简介
    一、背景18年的时候,用了一年多第三方免费的记账本不用了,两个方面原因,一是随着数据增多,APP用着越来越慢,二是相关数据被用于其他用途的风险很大且广告很烦。所以,后面通过MUI+asp.netcore+sqlserver实现记账web功能,在阿里云1核2G服务器的windows系统上发布了自用的服务,最......
  • 个人项目
    这个作业属于哪个课程22级计科2班这个作业要求在哪里作业要求这个作业目标设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率Github地址:<>项目设计整体流程函数功能函数名功能rea......
  • OJ在线判题系统项目笔记
    项目介绍在线评测编程题目代码的系统,出题人预先设置题目的输入样例和输出样例,根据用户提交代码,进行编译代码,运行代码,判断代码执行结果是否正确。后端服务网关服务接收前端请求,转发到对应的服务用户服务用户注册、用户登录、用户退出题目服务题目浏览,在线做题,题目提......
  • 云计算-配置节点亲和污点容忍保证节点为项目独占
    在生产集群,经常需要配置几个节点为项目独占,有以下要求1、节点只能运行指定项目的容器pod2、其他项目的的容器pod不能调度到这些节点上为了满足需求需要如下配置1、节点配置污点,pod不能随意调度2、节点配置标签,部署pod使用节点亲和性往指定标签节点调度3、在部署pod时候,yaml配置污点......
  • VScode python 调试深度学习项目 debugpy 库
    以前打OI,限于辣鸡NOILinux没有靠谱的IDE。只能用终端gdb来调试C++。gdb基本功能还是有的,但是每次启动,之前的东西(断点,监控变量)都会消失,需要重新输一遍。所以当时发现还是输出调试好,当然前置条件是写的两百行左右的程序编译时间短(1s左右),从头运行一遍也快(一个题规定的运......
  • Gitee开源WebGIS项目-openlayers广西水利信息在线分析服务系统
    介绍Openlayers项目,广西水利信息在线分析服务系统。模拟广西壮族自治区的水利信息相关数据,结合GIS应用,通过地图标注、图表与动态推演等方式,直观模拟展现广西壮族自治区当前的水情、雨情状况,以及台风情况。本仓库代码为后端代码,所用数据都是模拟的。前端代码网址:https://git......
  • 计算机毕业设计选题推荐-作品分享交流平台(摄影、绘画、书法)-Java/Python项目实战(亮点:
    ✨作者主页:IT毕设梦工厂✨个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。☑文末获取源码☑精彩专栏推荐⬇⬇⬇Java项目Python项目安卓项目微信小程序项目......