自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(178)
  • 收藏
  • 关注

原创 批处理数据Dataset+DataLoader使用介绍【Pytorch】

使用Dataset和DataLoader批量加载数据

2023-04-13 10:19:25 646 1

原创 【C++】vector使用pair/tuple

类型为pair/tuple的vector数组的使用

2023-02-01 17:50:58 1327

原创 【C++】输出固定格式的小数

制定格式输出小数

2023-01-24 18:15:07 1121

原创 【java】数组自定义排序(二维数组)

java自定义实现数组排序

2023-01-17 20:54:26 786

原创 实验二:数据流图建模实验|软件工程

目录详细描述建立分层的数据流图数据字典运行检验截图总结详细描述∙\bullet∙病人住院前,先办理入院手续,如果病人有医疗卡,则表明其在系统中已经存有相关信息,继续为其分配床位、主治医生,并收取住院押金。如果病人没有医疗卡,则需要先建立病人档案,再进行上述操作。∙\bullet∙ 病人住院过程中,主治医师会每天查房,记录病情到病历中,并根据病人每日病情,开出医嘱或化验单。护士站根据该站所有病人的医嘱生成领药单,药房每天根据该领药单进行配药、送药,并记录药品分发情况。如果医嘱中涉及辅助治疗,由护士站负

2022-04-20 20:19:34 4594 2

原创 720. 词典中最长的单词

题目描述\color{Violet}题目描述题目描述给出一个字符串数组 words 组成的一本英语词典。返回 words 中最长的一个单词,该单词是由 words 词典中其他单词逐步添加一个字母组成。若其中有多个可行的答案,则返回答案中字典序最小的单词。若无答案,则返回空字符串。∙\bullet∙示例 1:输入:words = ["w","wo","wor","worl", "world"]输出:"world"解释: 单词"world"可由"w", "wo", "wor", 和 "worl"逐步

2022-03-17 14:24:51 1029

原创 DDL数据语言|库表管理(MySQL)

目录库的管理表的管理字段类型整型小数型字符型日期型约束类型分类创建表时添加约束修改表时添加约束修改表时删除约束注意库的管理∙\bullet∙ 创建库create\color{Red}创建库create创建库create语法:create database [if not exists] 库名;\color{Violet}create \ database \ [if \ not \ exists] \ 库名;create database&

2022-01-23 13:05:10 543

原创 DML语言|表内数据增删改(MySQL)

目录前言插入语句插入方式一插入方式二对比修改语句修改单表的记录修改多表的记录删除语句方式一:delete方式二:truncate(清空数据)比较前言这次我们介绍对表内数据的增删改操作,首先我们先建立两个表stuinfo、teachinfo,表的格式如下:下面在这这两个表的基础上进行增删查操作。插入语句插入方式一语法:insert into 表名(列名,...) values(值1,...);\color{Violet}insert \ into \ 表名(列名,

2022-01-22 15:22:48 543

原创 分页查询+联合查询(MySQL)

目录前言分页查询语法示例特点联合查询语法示例特点前言介绍MySQL的分页查询、联合查询操作我们选择使用可视化软件Navicat,对应的数据库使用了某公司员工数据库,该数据库包含员工信息表、部门信息表、公司地址信息表、工作职业信息表、员工等级表。分页查询语法当我们要显示的数据项很多,在一页难以全部显示时,我们就需要用到分页查询,由我们自己设计每页查询的内容以及项数。此时需要分页提交sql请求。语法如下:select 查询列表from 表【join type join 表2on 连接条件

2022-01-21 09:54:54 1023

原创 子查询(MySQL)

目录前言子查询分类放在where或having后面标量子查询(单行子查询)列子查询(多行子查询)行子查询(结果集一行多列或多行多列)放在select后面放在from后面放在exists后面(相关子查询)前言介绍MySQL的子查询操作我们选择使用可视化软件Navicat,对应的数据库使用了某公司员工数据库,该数据库包含员工信息表、部门信息表、公司地址信息表、工作职业信息表、员工等级表。子查询分类子查询:我们出现在其他语句中的select语句,称为子查询或内查询;而在外部的查询语句称为主查询或外查询。

2022-01-20 11:04:55 958

原创 连接查询(MySQL)

目录前言连接查询分类sql92连接等值连接非等值连接自连接sql99连接内连接等值连接非等值连接自连接外连接左(右)外连接全外连接交叉连接前言介绍MySQL的连续查询操作我们选择使用可视化软件Navicat,对应的数据库使用了某公司员工数据库,该数据库包含员工信息表、部门信息表、公司地址信息表、工作职业信息表、员工等级表。当遇到多表查询(查询的字段来自多个表时)就需要用到连接查询,根据前面介绍的知识,直接from对应的表的话,就会遇到笛卡尔乘积现象,这个时候为了解决问题,我们就要通过增加有效的连接手

2022-01-19 10:29:41 714

原创 分组查询操作(MySQL)

目录前言分组查询语法简单分组查询增加了分组前筛选的分组查询增加了分组后筛选的分组查询group by子句类型按函数筛选多个字段分组添加排序总结前言介绍MySQL的单行函数操作我们选择使用可视化软件Navicat,对应的数据库使用了某公司员工数据库,该数据库包含员工信息表、部门信息表、公司地址信息表、工作职业信息表。分组查询语法select 分组函数,分组的列表(要求出现在group by的后面)from 表【where 筛选条件】group by 分组的列表【order by 子句】

2022-01-18 15:23:03 4508

原创 单行函数+分组函数总结(MySQL)

目录前言字符函数数学函数日期函数其他函数流程控制函数if函数case函数前言介绍MySQL的单行函数操作我们选择使用可视化软件Navicat,对应的数据库使用了某公司员工数据库,该数据库包含员工信息表、部门信息表、公司地址信息表、工作职业信息表。单行函数主要包括字符函数、数学函数、日期函数、其他函数、流程控制函数等等。字符函数常见的字符函数见下表:函数格式函数意义注意事项length(str)返回参数值的字节数在utf8中一个汉字占3个字节,在gbk中一个汉字占两个字

2022-01-17 12:42:22 435

原创 条件查询+排序查询操作(MySQL)

目录前言简单条件运算符逻辑运算符模糊查询likebetween andinis null / is not null前言介绍MySQL的基础查询操作我们选择使用可视化软件Navicat,对应的数据库使用了某公司员工数据库,该数据库包含员工信息表、部门信息表、公司地址信息表、工作职业信息表。语法:select 查询列表 from 表名 where 筛选条件;\color{Red}语法:select \ 查询列表 \ from \ 表名 \ whe

2022-01-17 10:15:00 1522

原创 基础查询操作(MySQL)

目录前言基础操作1:查询字段查询单个字段查询多个字段查询所有字段基础操作2:查询列表查询常量值查询表达式查询函数基础操作3:起别名基础操作4:去重基础操作5:拼接前言介绍MySQL的基础查询操作我们选择使用可视化软件Navicat,对应的数据库使用了某公司员工数据库,该数据库包含员工信息表、部门信息表、公司地址信息表、工作职业信息表。基础操作1:查询字段要查询具体的字段,我们首先要进入到对应的表中;下面我们已员工信息表为例,先打开新建查询,然后在右侧区域执行USE语句进入表中:查询单个字段格

2022-01-16 19:21:40 277

原创 MySQL安装5.5.64(使用msi安装)

目录1.安装过程(详细)1.1 软件安装1.2 环境配置2.服务的启动与停止3.服务端的登录与退出1.安装过程(详细)1.1 软件安装我们下载的是社区版MySQL,然后选择版本,好像只有5版本的可以进行msi安装,最新的8版本只能进行zip解压安装。根据需要选择,然后进行下载。下载后得到了msi文件,双击打开。进入安装页面,直接点击Next下一步。勾选同意条款,点解Next下一步。选择安装类型,建议选中间的自定义配置,可以选择安装地址等等。操作完点击Next下一步。选择自定义安装

2022-01-16 14:07:08 698

原创 路径总和(I、II、III)| 树

目录1.路径总和I2.路径总和II3.路径总和III1.路径总和I题目描述\color{Violet}题目描述题目描述给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。(叶子节点 是指没有子节点的节点。)示例一:输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1],

2022-01-15 17:25:18 879

原创 编码器/译码器(Verilog HDL)|计算机组成

目录前言1. 8-3编码器2. 3-8译码器前言编码与译码是一对相反的操作,其中编码是将2n个电路状态转换为n个二进制结果;译码是将n个二进制结果转换为2n个电路状态。下面主要介绍最经典的8-3编码器与3-8译码器。1. 8-3编码器8-3编码器即把8个1位的二进制数转换位3个1位的二进制结果输出。我们根据转换表来编写代码,转换表如下,从I0到I7(从低位到高位)表示的是编码器的输入,从Y2到Y0(从高位到低位)表示的是编码器的输出。在进行转换时我们只需要注意到出现在最高位的1即可。代码如下:

2022-01-15 12:00:00 7448

原创 N位加减法运算器实现(Verilog HDL)|计算机组成

目录前言:1.一位全加器的设计2.N位全加器的设计(无符号)3.N位减法器的设计(无符号)4.N位补码加减法运算器前言:简单的加法器我们都认识,即一个加数一个被加数,相加后得到和;今天我们要首先介绍的是全加器,它除了加数与被加数外,还存在低位进位,得到的结果除了和还有高位进位。之后会介绍与之类似的减法器;最后将二者综合起来得到双符号位(判断是否溢出)的补码加减法计算器。1.一位全加器的设计∙\bullet∙ 对于一位全加器,它的加数、被加数、和都是一位的二进制数,它的低位进位和高位进位也是一位的二

2022-01-14 13:08:49 6973 11

原创 实验一:医院住院管理系统需求|软件工程

目录详细描述用例图入院管理系统主治医生护士站药房化验部门财务部门出院管理系统用例执行场景定义类图时序图入院管理系统主治医生查房护士站管理总结详细描述∙\bullet∙ 病人住院前,先办理入院手续,如果病人有医疗卡,则表明其在系统中已经存有相关信息,继续为其分配床位、主治医生,并收取住院押金。如果病人没有医疗卡,则需要先建立病人档案,再进行上述操作。∙\bullet∙ 病人住院过程中,主治医师会每天查房,记录病情到病历中,并根据病人每日病情,开出医嘱或化验单。护士站根据该站所有病人的医嘱生成领

2021-11-27 23:45:00 7763 4

原创 实验三:CART回归决策树python实现(两个测试集)(二)|机器学习

目录python实现分步源代码(全部)测试集1(波士顿房价数据集)测试集2(糖尿病数据集)总结python实现分步划分数据子集(左子树划分比指定值小的样本集合,右子树划分比指定值大的样本集合)import numpy as np#获取数据子集,分类与回归的做法相同#将数据集根据划分特征切分为两类def split_dataset(data_x,data_y,fea_axis,fea_value): ''' input:data_x(ndarry):特征值

2021-11-21 19:00:00 2685 4

原创 实验三:CART分类决策树python实现(两个测试集)(一)|机器学习

目录python实现分步源代码(全部)测试集1(鸢尾花集)测试集2(红酒品类数据集)总结python实现分步划分数据子集(注意区分离散特征值和连续特征值)#获取数据子集,分类与回归的做法相同#将数据集根据划分特征切分为两类def split_dataset(data_x,data_y,fea_axis,fea_value): ''' input:data_x(ndarry):特征值 data_y(ndarry):标签值 fea_axi

2021-11-20 21:00:56 4935 2

原创 作业二:使用前向/后向算法实现中文分词器|自然语言

具体的前向、后向算法可见此链接。源代码import re#前向算法def MMseg_cut(sentence, dictA): # sentence:要分词的句子 #dictA:机器词典 result = [] #存放分好的词 sentenceLen = len(sentence) #待分词字段长度 n = 0 maxDictA = max([len(word) for word in dictA]) #取词典中最长词条的字符长度

2021-11-19 21:14:41 1151 4

原创 实验二:BP算法实践|机器学习

目录BP算法(分步)源代码(全部)测试数据集一(鸢尾花集)源代码(全部)测试数据集二(手写数字集)源代码(全部)实验内容:实现BP算法类,并使用两个数据集进行测试。BP算法(分步)BP算法主要由前向传递和后向传递两个部分构成。首先定义BPNetWork类:初始化函数init,生成四个基本变量(权重+偏置): '''初始化函数init''' def __init__(self,): ''' w1、w2分别为输入层到隐藏层、隐藏层到输出层的权重;b1

2021-11-09 08:00:00 1427

原创 常见的交换设备(中继器、集线器hub、网桥bridge、交换机switch)|计算机网络

中继器作用:{\color{Violet}作用:}作用:将接收到的信号进行整形和放大,相当于一个放大器。它工作在物理层。影响:{\color{Violet}影响:}影响:假设有两台主机A和B,随着它们之间距离的增加,信号的衰减也会增加,为了保证信号准确的传输,在它们之间就会加一条中继器(距离更远的话多加几台,但是不建议超过5个)中继器通常被放在两台主机之间。由于只有两个接口不太适用,所以进化成了下面提到的集线器hub。集线器hub外貌:{\color{Violet}外貌:}外貌:作用:{

2021-11-04 20:38:45 3093

原创 支持向量机(SVM)|机器学习

1.SVM基本原理1.1特点∙\bullet∙ 支持向量机(Support Vector Machine)主要用于解决模式识别领域中的数据分类问题,属于有监督学习算法的一种。∙\bullet∙ 既可以做分类也可以做回归。∙\bullet∙ 适合于小样本集的场景。1.2线性二分类问题比如说对于线性二分类问题来说,我们就是要选择一条直线将两类点进行区分,但是观看下图我们会发现有无数条直线可以做到这一要求,那么我们的选择有什么要求呢?因为这些点都是训练集中的点,而我们最后是要将这一模型使用在测试集

2021-10-30 09:00:00 678

原创 规则分词法|自然语言

写在前面对于中文来说我们需要使用一些手段对其进行分词,再不同的语境可能会有不同划分方法。目前有基于规则分词、基于统计分词、基于理解分词等等。下面我们介绍的是基于规则分词的内容。分别为正向最大匹配法、逆向最大匹配法、双向最大匹配法。它们的基本思想很类似,所以只着重介绍正向最大分词法。1.正向最大匹配法流程∙\bullet∙ 记录机器词典中最长词条的字符数为m。∙\bullet∙ 从左到右取待切分语句的m个字符作为匹配字段。∙\bullet∙ 查找词典进行匹配,匹配成功则将匹配字段作为一个词切出来

2021-10-29 19:56:46 1364

原创 作业一:训练Bigram模型并预测句子概率|自然语言

目录1.实验内容2.思路3.python代码4.结果1.实验内容∙\bullet∙ 基于人民日报标注语料(见附件),训练一个Bigram语言模型,并预测任意给定语句的语言概率。(中文分词可以采用Jieba, SnowNLP, PkuSeg, IK Analyzer, HanLP等)∙\bullet∙ 附件部分内容:2.思路∙\bullet∙ 由于词已经分好,那么训练模型只需要计算每个词的概率以及两个词组的共同概率,这里我使用正则表达式来提取每个词,然后使用字典存储它们的频数。∙\bull

2021-10-23 19:30:00 5091 8

原创 数据平滑技术|自然语言

目录写在前面1.加法平滑1.1加1法1.2加法平滑方法2.古德-图灵(Good-Turing)估计法3.回退平滑(Katz回退法)4.线性插值平滑(Jelinek-Mercer)写在前面∙\bullet∙ 因为对于N-gram模型来说,由于语料库过小或者词语过于专业可能会出现概率为0的情况。但是这个词语肯定会有出现的概率不可能为0,为了解决这类零概率问题,引入了平滑技术。∙\bullet∙ “平滑”处理的基本思想是“劫富济贫”,即提高低概率降低高概率,尽量使概率分布趋于平均。1.加法平滑1.1

2021-10-19 17:38:04 1277

原创 常用的调度算法(包含实例)|操作系统

目录1.先来先服务调度算法(FCFS)2.优先级调度算法3.最短作业优先调度算法(SJF)4.最高相应比优先调度算法5.轮转调度算法6.多级反馈轮转调度算法7.实时系统的调度算法1.先来先服务调度算法(FCFS)原理:{\color{Violet}原理:}原理:∙\bullet∙ 先来先服务(First-Come-First-served)调度算法是最简单的非抢占的调度算法。∙\bullet∙ 它通过管理一个FIFO就绪队列来实现,从前到后按顺序将CPU分配给进程。举例:{\color{Viol

2021-10-14 21:45:11 17139 5

原创 银行家算法实例|操作系统

1.算法准备∙\bullet∙ 银行家算法(资源分配拒绝策略)目的是选择合适的资源分配顺序从而避免死锁的发生。∙\bullet∙ 该方法允许进程动态的申请资源,使得系统一直保持安全状态。那么什么是安全状态呢?我们考虑一个系统它有固定的进程数目与资源数目,比如说有n个进程和m个不同类型的资源,现在已知如下矩阵(题目中会给出):Resource=(R1,R2,...Rm) 系统中每种资源的总量{\color{Violet}Resource = (R_{1},R_{2},...R_{m})} \

2021-10-13 17:14:54 668

原创 ID3决策树算法|机器学习

1.ID3决策树原理1.1基本原理∙\bullet∙ 基本原理:ID3决策树算法使用信息增益来构建决策树,对于所有的属性我们先选择信息增益最大的作为根节点,然后计算其他属性的信息增益再选择最大的作为子节点,一直递归调用该操作,直到信息增益很小或者没有特征为止。∙\bullet∙ 根据搭建好的决策树我们带入测试数据的特征就会得到对应的输出结果,那么现在最重要的就是理解什么是信息增益以及如何求解信息增益。1.2信息熵∙\bullet∙ 在介绍信息增益之前,先引入信息熵的概念,信息熵是用来衡量样本纯度的

2021-10-10 19:41:28 4951

原创 基于正则表达式的词行词法分析|自然语言处理

目录1.任务一:邮箱地址和网址提取1.1任务描述1.2代码2.任务二:密码提取2.1任务描述2.2代码1.任务一:邮箱地址和网址提取1.1任务描述∙\bullet∙ 实现基于正则表达式的字符串抽取,完成对 string文本的邮箱地址和网址,并按下面格式输出。测试输入{\color{Violet}测试输入}测试输入(1)我的邮箱:[email protected](2)please click https://www.educoder.net测试输出{\color{Violet}测试输出}测试输出

2021-10-09 20:30:00 1390

原创 逻辑回归|机器学习|分类算法

目录1.逻辑回归1.1逻辑回归原理1.2sigmoid函数2.相关代码2.1LogisticsRegression类2.2求解代码2.3输出结果1.逻辑回归1.1逻辑回归原理∙\bullet∙ 逻辑回归又叫对数几率回归,是一种对数几率模型,可以求解二分类问题。∙\bullet∙ 之前我们学习过线性回归模型,带入模型后每一个点都有一个对应的实数值,范围为整个实数域;但是由于逻辑回归是利用回归方法解决二分类问题,所以求得的结果只能有两个值,在这里我们使用概率来对这两类进行描述:y^={0p^<

2021-10-07 13:05:35 198

原创 L2-031 深入虎穴 (25 分)(C++/广搜)

输入格式{\color{Violet}输入格式}输入格式∙\bullet∙ 首先输入一个正整数N用来表示门的个数,接着N行每行代表一个门,每行第一个数表示该门可以通向的m条通道,接下来输入m个门的编号。133 2 3 42 5 61 71 81 902 11 101 13001 1200输出格式{\color{Violet}输出格式}输出格式∙\bullet∙ 输出距离入口最远的门的编号即可。12思路{\color{Violet}思路}思路∙\bullet∙

2021-10-06 20:34:07 1146

原创 【操作系统】进程同步

目录1.进程的互斥1.1临界资源和临界区1.2遵循准则1.3使用硬件实现互斥1.4信号量实现互斥2.进程的同步2.1生产者\消费者问题2.2读者\写者问题3.进程之间的通信3.1共享内存方式3.2管道通信机制3.3消息传递机制4.管程5.思维导图1.进程的互斥进程互斥是进程同步控制中的一种特例。1.1临界资源和临界区临界资源:某段时间内只允许一个进程使用的资源。临界区:使用临街资源的那一部分程序。1.2遵循准则为了提供对互斥的支持,系统必须满足以下条件:(1)空闲让进:某进程退出临界区,刚

2021-10-06 18:45:00 2177

原创 最小生成树Prim算法实现【C++】

输入格式:{\color{Violet}输入格式:}输入格式:∙\bullet∙ 第一行三个数n、m、start,分别代表城市个数、道路条数、出发点(起始点)。∙\bullet∙ 接下来m行每行三个数a、b、c,分别表示城市a、城市b、城市a和b之间的距离。输出格式:{\color{Violet}输出格式:}输出格式:∙\bullet∙ 从起始点开始,每行输出一条选中的路径,格式为:a--b:dis,表示从a到b,距离为dis。∙\bullet∙ 最后一行输出总的生成代价sum_dis。定义

2021-10-01 21:00:00 1152

原创 最短路径Dijkstra算法实现【C++】

输入格式:{\color{Violet}输入格式:}输入格式:∙\bullet∙ 第一行三个数n、m、start,分别代表城市个数、道路条数、出发点(起始点)。∙\bullet∙ 接下来m行每行三个数a、b、c,分别表示城市a、城市b、城市a和b之间的距离。输出格式:{\color{Violet}输出格式:}输出格式:∙\bullet∙ 输出一行n各数据,分别表示起始点start到该点的最短路径。定义存储数组:{\color{Violet}定义存储数组:}定义存储数组:∙\bullet∙ i

2021-10-01 15:56:07 2964 2

原创 【软件工程】软件工程

目录1.定义软件工程学科2.软件过程2.1定义2.2过程框架2.3普适性活动2.4软件生存周期2.5实践的精髓2.6通用原则3.思维导图1.定义软件工程学科∙\bullet∙ 定义:将系统化的、规范化、可量化的方法应用于如那件的开发、运行和维护,即将工程化的方法应用于软件,并对上述方法的研究。∙\bullet∙ 特点:软件工程是一种层次化的技术,支撑软件工程的根基在于质量关注点。∙\bullet∙ 组成:软件过程(基础)、软件方法、软件工具。2.软件过程2.1定义定义:软件过程是工作产品

2021-09-19 19:56:39 290

原创 岭回归模型|机器学习|回归算法

1.岭回归模型1.1背景对于回归问题来说,它们的基本内容基本上都是相同的,所以岭回归模型与线性回归模型类似:y=θ0x0+θ1x1+θ2x2+...θnxn{\color{Violet}y = θ_{0}x_{0}+θ_{1}x_{1}+θ_{2}x_{2}+...θ_{n}x_{n}}y=θ0​x0​+θ1​x1​+θ2​x2​+...θn​xn​它们的差别主要体现在损失函数的构造上。对于有些矩阵,矩阵中某个元素的一个很小的变动,会引起最后计算结果误差很大,这种矩阵称为“病态矩阵”。有些时候不正确

2021-09-19 16:26:15 5515 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除