- 博客(96)
- 收藏
- 关注
原创 Go 语言切片(Slice)
切片不需要说明长度。或使用make()也可以简写为也可以指定容量,其中capacity为可选参数。这里 len 是数组的长度并且也是切片的初始长度。
2025-02-10 15:13:55
254
原创 golang下载安装图文教程(Linux环境)
进入go文件夹,里面有一个bin目录,我们需要将这个路径配置到系统环境变量。解压完成后会在/usr/local目录下生成一个go文件夹,如图。查看go安装情况,输入如下指令,若出现版本信息则说明安装成功。点击链接进入官网,选择Linux的安装包下载。在改文件末尾写入如下指令。
2025-02-10 15:13:32
617
原创 Linux下安装Redis详细教程
1.准备REDIS安装包这⾥下载的是 redis-6.2.9.tar.gz 安装包,并将其放在了/home/workspace/zipfile目录下2.解压安装包1、在下创建redis⽂件夹并进⼊2、将Redis安装包解压到中即可解压完之后,/usr/local/redis 目录中会出现⼀个的目录3.编译并安装。
2025-02-03 15:17:33
619
原创 Linux系统下安装配置 Nginx 超详细图文教程
下载稳定linux版本的nginx.tar.gz文件,如下图所示。2.2 在 /usr/local/如果修改了配置⽂件后想重新加载。输入自己服务器的ip即可。的可可执行文件位置位于。
2025-02-03 15:17:06
411
原创 linux安装mysql(手把手教学带图文炒鸡详细)
这里将下载后的mysql文件上传到了/home/workspace/zipfile目录,大家可以上传到自己指定的目录。将mysql-8.4.4-linux-glibc2.28-x86_64移动到 /usr/local下。的命令⾏执⾏如下命令即可,密码可以换成你想⽤的密码即可,这里将密码设置成111111。同时新建/usr/local/mysql/data目录,后续备用。同时使用如下命令创建/var/lib/mysql目录,并修改权限。进入 /usr/local/mysql 目录下,修改相关权限。
2025-01-26 12:48:13
762
原创 IO多路复用-select详细介绍
I/O 多路复用是一种同步 I/O 模型,它允许单个进程同时监视多个文件描述符(如套接字),以确定它们是否准备好进行 I/O 操作(可读、可写或出现异常)。函数会阻塞进程,直到被监视的文件描述符集合中的一个或多个满足指定的条件(可读、可写或异常)。是一个用于存储文件描述符集合的结构。它在内部是一个位向量,每个位对应一个文件描述符。时,内核会检查这些集合中的文件描述符状态,当有满足条件的文件描述符时,返回,应用程序可以通过遍历集合来确定具体是哪些文件描述符就绪。的内部结构,而是通过一组宏来操作。
2025-01-23 10:31:25
624
原创 套接字通信socket详细介绍
套接字是一种用于网络通信的编程接口,它提供了一种在不同主机上的进程之间进行通信的机制。套接字允许应用程序在网络上发送和接收数据,就像文件操作允许程序在本地存储上读写数据一样。它是网络通信的端点,每个套接字都由一个 IP 地址和一个端口号组成,通过这两个元素可以唯一地标识网络中的一个通信进程。函数将点分十进制的 IP 地址转换为网络字节序的 32 位整数。成员,存储 32 位的 IPv4 地址,可以使用。在 C++ 中,使用。
2025-01-23 10:31:17
920
原创 C++11新特性-- 指针空值类型 - nullptr
那么为什么要这样做呢?是由于C++中,void*类型无法隐式转换为其他类型的指针,此时使用0代替((void*)0),用于解决空指针的问题。在C++程序开发中,为了提高程序的健壮性,一般会在定义指针的同时完成初始化操作,或者在指针的指向尚未明确的情况下,都会给指针初始化为NULL,避免产生野指针(没有明确指向的指针,操作也这种指针极可能导致程序发生异常)。最终链接到的还是voidfunc(intp)和预期是不一样的,其实这个原因前边已经说的很明白了,在C++中NULL和0是等价的。
2025-01-20 14:34:05
329
原创 C++11新特性--字符串原始字面量
通过输出的信息可以得到如下结论:使用原始字面量R“xxx(rawstring)xxx”,()两边的字符串在解析的时候是会被忽略的,因此一般不用指定。在C++11中添加了定义原始字符串的字面量,定义方式为:R“xxx(原始字符串)xxx”其中()两边的字符串可以省略。在C++11之前如果一个字符串分别写到了不同的行里边,需要加连接符,这种方式不仅繁琐,还破坏了表达式的原始含义,如果使用原始字面量就变得简单很多,很强直观,可读性强。
2025-01-20 14:32:49
290
原创 Zotero翻译服务DeepL(Pro)密钥免费获取
DeepL以其卓越的翻译质量著称,能够生成非常自然、流畅的译文,几乎可以与人工翻译相媲美。下面介绍如何在zotero中免费使用DeepL(Pro)。注册完成后点击右上角的用户中心即可查看API密钥,复制秘钥打开zotero,打开设置,将翻译服务DeepL(Pro)密钥粘贴上去即可使用。
2024-12-24 14:00:22
1044
原创 数据库系统概论
列也称为数据项或字段或属性(Attribute)。列的个数称为关系的元或目或度。列取值范围称为值域,简称域(Domain)行也称为元组(Tuple)或记录(Record)。行中的一个属性值称为分量(Component)。行的个数称为关系的基数(Cardinality)。码(Key):属性(或属性组)的值都能用来唯一标识该关系的元组,则称这些属性(或属性组)为该关系的码或键。超码(Super Key):在码中去除某个属性,它仍然是这个关系的码候选码(Candidate Key)
2024-12-24 14:00:00
1094
原创 机器学习-线性回归算法(附示例代码)
线性回归(Linear Regression)算法的核心是线性回归方程,通过在输入数据和输出数据之间建立一种直线的相关关系,完成预测的任务。线性回归方程的参数可以有一个或多个,经常用于实际的预测问题,例如,预测机票价格、股票市场走势预测等,是一个广受关注的算法。预测某部电影的票房收入,可以使用SKlearn的linear_model模块,其中的LinearRegression函数能实现线性回归。在机器学习中,回归分析经常作为一种预测模型,例如,预测分析出行日期与机票价格之间的关系,股票市场价格等。
2024-12-15 12:33:21
982
原创 机器学习-神经网络(BP神经网络前向和反向传播推导)
神经网络(neural networks)方面的研究很早就已出现,今天“神经网络”已是一个相当大的、多学科交叉的学科领域.各相关学科对神经网络的定义多种多样,本书采用目前使用得最广泛的一种,即“神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应”[Kohonen,1988]. 我们在机器学习中谈论神经网络时指的是“神经网络学习”,或者说,是机器学习与神经网络这两个学科领域的交叉部分.隐含层->隐含层:h->i。隐含层->输入层:h->o。
2024-11-28 14:21:55
1282
原创 机器学习-决策树(ID3算法及详细计算推导过程)
Xm},且每个属性均有r种不同的取值,则我们可以根据属性的不同取值将样本集S划分成r个不同的子集S1, S2, ... , Sro。或者样本集中的所有样本在属性集上都取相同值,即所有样本都具有相同的属性值,则同样将该节点标记为叶节点,并根据各个类别的样本数量,按照少数服从多数的原则,将该叶节点的类别标记为样本数最多的那个类别。(2) 如果节点样本集中的所有样本全都属于同一类别,则将该节点标记为叶节点,并标出该叶节点的类别。可见,信息增益所描述的是信息的确定性,其值越大,信息的确定性越高。
2024-11-28 13:18:03
2416
1
原创 推荐算法(基于用户/物品的协同过滤算法)
信息过载的时代。信息消费者面临的问题是如何收集到自己感兴趣的信息。对于信息生产者来说,高效地把信息推送给感兴趣的信息消费者,而不是淹没在信息互联网的海洋之中,也非常困难。如何从大量的数据信息中获取有价值的信息成为关键问题。由此,推荐系统便应运而生,得到了广泛的应用。推荐流程示意:推荐系统首先收集、处理客户的数据,通过分析客户的特征,为客户推荐最合适的商品。
2024-11-21 20:10:16
1289
原创 机器学习基础
即将训练集分成若干个互补的子集,然后模型使用这些子集的不同组合训练,之后用剩下的子集进行验证。另一层含义是,对同一个算法来说,设置不同的参数后,算法效果可能发生很大变化,甚至变成不同的模型。通过对数据进行学习获取经验,再使用学习到的经验对原算法的性能进行迭代优化,从而不断提高算法效果。(underfitting),即欠学习,指模型没有学到训练数据的内在关系,对样本的一般性质学习不足。然而,如果每次训练都用测试集来评估,测试集已经反复参与到了模型训练过程,就削弱了其测试的效果,影响模型的实际使用。
2024-11-21 20:09:05
775
原创 计算机视觉-轮廓分割实验报告
进行分水岭模型计算的比较经典的算法是L Vincent提出的,在该算法中首先是对每个像素的灰度级进行从低到高排序,然后用等级对垒模拟淹没,初始时,等级队列中为淹没的初始点,在从低到高实现淹没的过程中,对每一个局部极小值在H阶高度的影响域采用先进先出(FIFO)结构进行判断及标注,直到最后一个值被淹没,从而正确划分各个区域。如果存在问题,可以考虑调整边缘检测的参数(如 Canny 算子的阈值)、阈值分割的阈值或者尝试其他的预处理方法(如滤波去除噪声)来改善分割效果。2、观察轮廓提取的准确性和完整性。
2024-11-01 16:37:07
921
原创 计算机视觉-显著性检测实验报告
例如,通过将显著图二值化,与人工标注的显著区域进行比较,计算准确率(正确检测为显著的像素占检测为显著的像素总数的比例)和召回率(正确检测为显著的像素占实际显著像素总数的比例),进而绘制准确率 - 召回率曲线。3.基于最小方向对比度的显著性检测是一种用于图像处理的技术,其核心思想是通过计算每个像素点在其周围局部区域内的方向对比度来确定该像素点的显著性。可以考虑这个像素或者超像素周围的这样一个邻域:其内部各像素应当具有比较相似的颜色或灰度(内部差别小),但其总体又与其外部有明显不同的外观(内外差别大)。
2024-11-01 14:53:30
1151
原创 计算机视觉-Harris特征点检测实验报告
综上所述,在使用 Harris 角点检测时,需要根据具体的图像特点和应用需求选择合适的参数设置,以获得最佳的检测效果。对于自然场景图像或纹理复杂的图像,Harris 角点检测可能会检测到更多的角点,包括一些不太明显的角点和由于纹理变化引起的伪角点。复杂图像中的噪声会对角点检测产生更大的影响,可能导致一些噪声点被检测为角点,降低检测的准确性。较大的窗口尺寸可以平滑噪声,但可能会错过一些小尺度的角点,并且对图像的局部变化不敏感。图像中的噪声较少时,角点检测的准确性更高,不会将噪声误检测为角点。
2024-10-29 17:46:19
978
1
原创 计算机视觉-霍夫变换直线检测实验报告
如图所示,为一个离散化过程。霍夫直线检测就是把图像空间中的直线变换到参数空间中的点,通过统计特性来解决检测问题。具体来说,如果一幅图像中的像素构成一条直线,那么这些像素坐标值(x, y)在参数空间对应的曲线一定相交于一个点,所以我们只需要将图像中的所有像素点(坐标值)变换成参数空间的曲线,并在参数空间检测曲线交点就可以确定直线了。在理论上,一个点对应无数条直线或者说任意方向的直线(在参数空间中坐标轴表示的斜率k或者说θ有无数个),但在实际应用中,我们必须限定直线的数量(即有限数量的方向)才能够进行计算。
2024-10-29 17:45:46
1145
原创 计算机视觉-边缘检测实验报告
Canny算子与Sobel算子的差异对比:Canny 算子:具有较高的检测精度,能够检测出更细、更准确的边缘,对弱边缘的检测也相对较好。抗噪性较强,在进行边缘检测之前会先进行高斯滤波等降噪处理,减少噪声对边缘检测的影响。Sobel 算子:检测精度相对较低,边缘可能比较粗糙,对于一些弱边缘可能无法准确检测。Sobel 算子:抗噪性较弱,对噪声比较敏感,容易将噪声误检测为边缘。
2024-10-26 18:19:06
1365
原创 遗传算法(Genetic Algorithm)理论详解
遗传算法(Genetic Algorithm,GA)是一种模拟自然界生物进化过程与机制的随机搜索与优化算法,被广泛应用于计算机科学、工程技术、经济学等众多领域。
2024-10-26 18:10:09
1277
原创 机器学习-K-Means聚类算法
函数首先随机选择初始聚类中心,然后通过不断迭代分配样本和更新聚类中心的过程,直到聚类中心不再发生变化或达到最大迭代次数为止。对于给定的数据集和需要划分的类数k,算法根据距离函数进行迭代处理,动态地把数据划分成k个簇(即类别),直到收敛为止。按照簇的定义和聚类的方式,聚类大致分为以下几种:K-Means为代表的簇中心聚类、基于连通性的层次聚类、以EM算法为代表的概率分布聚类、以DBSCAN为代表的基于网格密度的聚类,以及高斯混合聚类等。聚类是一个反复迭代的过程,理想的终止条件是簇的分配和个簇中心不再改变。
2024-10-14 21:10:22
956
原创 柔性作业车间调度问题(FJSP)
如图2.1(a)所示为表2.3中调度问题的一个可行调度的有向图,图2.1(b)所示为对应图2.1(a)的甘特图,其中机器1上的选择S1={O21,O11,O32},机器2上的选择S2={O31,O12,O23},机器3上的选择S3={O22,O13,O33}。关键路径的长度等于16。在作业车间调度问题(job shop scheduling problem,JSP)中,加工系统有一组功能不同的机床,待加工的工件包含多道工序,每道工序在一台机床上加工,工件的加工路线互不相同,每个工件工序之间有先后顺序约束。
2024-10-05 14:23:44
5038
1
原创 王道408考研数据结构-图-第六章
6.1 图的基本概念6.1.1 图的定义图G由顶点集V和边集 E组成,记为G=(V,E),其中 V(G)表示图G中顶点的有限非空集;E(G)表示图G中顶点之间的关系(边)集合。若V={v?,v?,…,vn},则用|M表示图G中顶第6章 点的个数,E={(u,v) | uεV,vεV},用|E|表示图G中边的条数。1.有向图若E是有向边(也称弧)的有限集合,则图G为有向图。弧是顶点的有序对,记为,其中 v,w是顶点,v称为弧尾,w称为弧头,称为从v到 w的弧,也称v邻接到 w。
2024-10-02 15:23:19
1450
原创 NP-hard问题
例如,对于一个旅行商问题(TSP),给定一个特定的旅行路线(解),我们可以在多项式时间内计算这条路线的总长度,并验证它是否满足问题的要求(比如是否是所有城市都经过且每个城市只经过一次的路线中的较短者)。归约是一种转换方法,例如,如果有问题 A 和问题 B,若能在多项式时间内将问题 A 的实例转化为问题 B 的实例,并且利用问题 B 的解能在多项式时间内得到问题 A 的解,就说 A 可以归约到 B。一个问题A可以约化为B的含义是,可以用问题B的解法解决问题A。这里强调的是验证解的速度,而非找到解的速度。
2024-10-02 13:02:35
1028
原创 机器学习-KNN分类算法
由于找到的结果中大多数是猫,则把这个新动物划分为猫类。如果k值太大,学习的近似误差会增大,导致分类模糊,即欠拟合。对图5.2中的动物进行分类,当k=3时,分类结果为“猫:狗=2:1”,所以属于猫;当k=5时,表决结果为“猫:狗:熊猫=2:3:1”,所以判断目标动物为狗。KNN分类算法的核心思想:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。分类结果的确定往往采用多数表决原则,即由输入实例的k个最邻近的训练实例中的多数类决定输入实例的类别。
2024-09-26 09:20:23
1616
原创 Python机器学习基础(NumPy、Pandas、Matplotlib)
它提供了高性能、易于使用的数据结构和数据分析工具。NumPy 是 Python 中用于科学计算的核心库,它提供了高性能的多维数组对象以及用于处理这些数组的工具。:一维数组,可以包含不同类型的数据,类似于一个带有索引的一维数组。:二维表格数据结构,由行和列组成,可以包含不同类型的数据。1.算术运算:可以对数组进行加、减、乘、除等算术运算。1.索引:可以通过整数索引访问数组中的元素。2.切片:可以使用切片操作访问数组的一部分。2.使用特殊的函数创建特定形状的数组,如。:可以改变数组的形状。
2024-09-24 18:17:33
984
原创 王道408考研数据结构-树与二叉树-第五章-第三四节
对应的递归算法如下: 2.中序遍历(InOrder)对应的递归算法如下: 3.后序遍历(PostOrder)对应的递归算法如下: 4.递归算法和非递归算法的转换 图5.10用带箭头的虚线表示了这三种遍历算法的递归执行过程。其中,向下的箭头表示更深一层的递归调用,向上的箭头表示从递归调用退出返回;虚线旁的三角形、圆形和方形内的字符分别表示在先序、中序和后序遍历的过程中访问根结点时输出的信息。例如,由于中序遍历中访问结点是在遍历左子树之后、遍历右子树之前进行的,
2024-09-23 21:10:11
1140
原创 王道408考研数据结构-串-第四章
以此类推,直至模式串 T中的每个字符依次和主串s中的一个连续的字符序列相等,则称匹配成功,函数值为与模式串 T中第一个字符相等的字符在主串S中的序号,否则称匹配不成功,函数值为零。例如,当模式串为'0000001'而主串为'O000000000000000000000000000000000000000 000001'时,由于模式串中的前6个字符均为'0',主串中的前45个字符均为'0',每趟匹配都是比较到模式串中的最后一个字符时才发现不等,指针i需要回溯39次,总比较次数为40x7=280次。
2024-09-20 21:17:16
443
原创 王道408考研数据结构-栈、队列和数组-第三章
3.1 栈3.1.1 栈的基本概念1.栈的定义栈(Stack)是只允许在一端进行插入或删除操作的线性表。首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作,如图3.1所示。栈顶(Top)。线性表允许进行插入删除的那一端。栈底(Bottom)。固定的,不允许进行插入和删除的另一端。空栈。不含任何元素的空表。3.1.2 栈的顺序存储结构栈是一种操作受限的线性表,类似于线性表,它也有对应的两种存储方式。1.顺序栈的实现。
2024-09-20 19:40:22
1274
原创 王道408考研数据结构-线性表-第二章
2.1 线性表的定义2.1.1 线性表的定义线性表是具有相同数据类型的n(n≥0)个数据元素的有限序列,其中n为表长,当n=0 时线性表是一个空表。若用L命名线性表,则其一般表示为式中,a1是唯一的“第一个”数据元素,又称表头元素;an是唯一的“最后一个”数据元素,又 称表尾元素。除第一个元素外,每个元素有且仅有一个直接前驱。除最后一个元素外,每个元素有且仅有一个直接后继(“直接前驱”和“前驱”、“直接后继”和“后继”通常被视为同义词)。
2024-09-17 14:45:22
1555
原创 王道408考研数据结构-绪论
1.1 数据结构的基本概念数据结构数据结构是相互之间存在一种或多种特定关系的数据元素的集合。在任何问题中,数据元素都不是孤立存在的,它们之间存在某种关系,这种数据元素相互之间的关系称为结构(Structure)。数据结构包括三方面的内容:逻辑结构、存储结构和数据的运算。数据的逻辑结构和存储结构是密不可分的两个方面,一个算法的设计取决于所选定的逻辑结构,而算法的实现依赖于所采用的存储结构。1.1.2 数据结构三要素1.数据的逻辑结构逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。
2024-09-16 19:03:50
469
原创 王道408考研数据结构-树与二叉树-第五章-第一二节
树是n(n≥0)个结点的有限集。当n=0时,称为空树。有且仅有一个特定的称为根的结点。当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,⋯,Tm,其中每个集 合本身又是一棵树,并且称为根的子树。二叉树是一种特殊的树形结构,其特点是每个结点至多只有两棵子树(即二叉树中不存在度 大于2的结点),并且二叉树的子树有左右之分,其次序不能任意颠倒。度为2的树至少有3个结点,而二叉树可以为空。
2024-09-12 18:48:16
1201
原创 C++设计模式(观察者模式)
在观察者模式中,存在被观察的对象(主题)和观察这个对象的观察者。主题在自身状态发生变化时,会通知所有注册的观察者,让它们能够做出相应的反应。
2024-09-05 19:50:33
675
原创 带你学透0-1背包问题
首先从dp[i][j]的定义出发,如果背包容量j为0的话,即dp[i][0],无论是选取哪些物品,背包价值总和一定为0。如图:在看其他情况。状态转移方程。
2024-09-01 12:15:17
1550
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人