- 博客(293)
- 收藏
- 关注
原创 【IPC(进程间通信)全解析】
IPC(Inter - Process Communication)即进程间通信,旨在让不同进程能够相互交换数据、传递信息,协同完成复杂任务。常见的IPC对象有消息队列(Message Queue)、共享内存(Shared Memory)和信号量(Semaphore)。入队↓[元素n] ←⋯⋯← [元素4] ← [元素3] ← [元素2] ← [元素1]↑出队fill:#333;color:#333;color:#333;fill:none;入队元素n元素4元素3元素2元素1。
2025-03-07 10:36:01
176
1
原创 【数据结构-图】
知识点总结图(Graph)是由顶点(Vertex)的集合和边(Edge)的集合组成的一种数据结构,通常用GVEG=(V, E)GVE表示,其中VVV是顶点的有限非空集合,EEE是边的集合,边表示顶点之间的关系图可以用来模拟各种现实世界中的关系,如社交网络、交通网络等。示例在一个社交网络中,每个人可以看作是图中的一个顶点,人与人之间的好友关系可以看作是图中的边。
2025-02-28 17:18:33
875
2
原创 【 树 】
平衡树是一种特殊的二叉搜索树,它通过一些机制保证树的高度始终保持在OlognO(\log n)Ologn级别,从而使得树的查找、插入和删除操作的时间复杂度稳定在OlognO(\log n)Ologn。常见的平衡树有 AVL 树、红黑树等。红黑树是一种自平衡的二叉搜索树,它在每个节点上增加了一个存储位来表示节点的颜色(红色或黑色,通过对任何一条从根到叶子的路径上各个节点着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,因而是接近平衡的。
2025-02-27 11:42:34
957
10
原创 【哈希表 查找算法】
它的基本思想是先确定查找区间的中间位置,然后将中间位置的记录关键字与给定值进行比较,如果相等则查找成功;如果给定值大于中间位置的关键字,则在查找区间的后半部分继续进行二分查找。它通过哈希函数将键映射到一个索引值,这个索引值对应哈希表中的一个位置,然后在该位置存储与键关联的值。查找是在数据集合中寻找满足某种条件的数据元素的过程。用于查找的数据集合称为查找表,它是由同一类型的数据元素(或记录)构成的集合。查找时,先根据哈希值找到对应的链表,然后在链表中遍历查找目标键。个记录的查找表,平均查找长度。
2025-02-27 09:57:29
1266
原创 【一篇博文带你学透经典排序算法】
由于冒泡排序的时间复杂度较高,在处理大规模数据时效率较低,因此它通常适用于数据量较小的情况。此外,冒泡排序的实现简单,易于理解,常用于教学和对排序效率要求不高的场景。随着排序的进行,逐渐缩小间隔,直到间隔为 1,此时整个数组就相当于进行了一次普通的插入排序,但由于前面的操作已经让数组基本有序,所以最后一次插入排序的效率会更高。
2025-02-26 17:47:28
992
原创 【栈 树 】
栈就像一摞盘子,你只能从这摞盘子的顶部放入新盘子,也只能从顶部拿走盘子,不能从中间或底部操作。在栈中,插入元素的操作称为“入栈”(Push),移除元素的操作称为“出栈”(Pop)。栈有一个重要的位置叫做“栈顶”(Top),所有的插入和删除操作都在栈顶进行。==队列的队头对应链表的头节点,队尾对应链表的尾节点。树中的节点具有层次关系,除根节点外,每个节点都有一个父节点,每个节点可以有零个或多个子节点。对于非空树,有且仅有一个特定的节点称为根节点(Root),其余节点可分为。返回栈顶元素,但不将其从栈中移除。
2025-02-26 14:00:30
1004
原创 【链 表】
随机访问效率高:由于顺序表使用数组存储,通过数组下标可以直接访问任意位置的元素,时间复杂度为O1O(1)O1。例如,要访问顺序表中第iii个元素,直接通过数组下标iii即可快速定位。存储密度大:顺序表中只存储数据元素本身,不需要额外的指针来表示元素之间的逻辑关系,因此存储密度为 1,空间利用率高。Linux 内核链表是一种非常经典且高效的数据结构实现,它采用了一种独特的设计方式,将链表节点嵌入到其他数据结构中,从而实现了链表的通用性和灵活性。
2025-02-25 23:45:29
1023
原创 【qt计算器】
Q_OBJECT定义了一个名为MainWindow的类,它继承自。Q_OBJECT是一个宏,它是 Qt 元对象系统的核心部分,用于支持信号与槽机制、动态属性系统等高级特性。任何使用信号与槽机制的类都必须包含这个宏。这段代码实现了一个简单的计算器界面的交互逻辑,通过处理按钮点击、文本编辑和下拉框选择等事件,根据用户输入的数字和运算符进行相应的计算,并将结果显示在界面上。
2025-02-25 18:47:06
1213
原创 【qt链接mysql】
拷贝到QT目录C:\Qt\5.7\mingw53_32\bin 下(当前这个也是我电脑上的Qt路径,请找到你Qt对应的bin路径)将mysql安装目录下的如下目录中的xxx\MySQL\MySQL Server 5.7\lib\libmysql.dll。首先根据自己qtcreater 下载mysql安装包。data文件夹我上传在对应的资源中 已博客名字命名。直接在文win11上面搜索 环境变量然后点击。或者mysql可以正常启动 但是启动不成功。如果以上步骤还不成功。
2025-02-24 18:36:33
351
原创 【管道 】
在使用匿名管道进行进程间通信时,通常是由父进程先创建管道,再创建子进程。这是因为匿名管道只能在具有亲缘关系的进程(如父子进程)间使用,且管道的文件描述符是通过。在使用匿名管道进行进程间通信时,父进程和子进程扮演着不同的角色,下面从创建、使用和资源管理等方面详细介绍管道中父进程和子进程的相关内容。若要实现父子进程的双向通信,需要创建两个管道,一个用于父进程向子进程发送数据,另一个用于子进程向父进程发送数据。综上所述,在管道通信中,父进程和子进程需要根据通信需求合理使用管道的读写端,并做好资源管理工作。
2025-02-23 22:54:38
773
1
原创 【僵尸进程】
在 Linux 系统中,当一个子进程结束运行(通过调用exit或接收到终止信号),它并不会立即从系统中消失。子进程会进入僵尸状态(Zombie State),此时子进程已经停止执行,但它的进程描述符(包含进程的退出状态等信息)仍然保留在系统中,直到其父进程调用wait或waitpid等系统调用获取其退出状态,释放该进程描述符,子进程才会真正被销毁。处于这种状态的进程就被称为僵尸进程。
2025-02-23 22:39:38
983
原创 【进程 】
该函数会返回两次,一次返回父进程,值是子进程的PID,一次返回子进程,值固定为0。则是该程序运行时的命令行参数,值得注意的是,命令行参数包括程序名本身,并且全部是字符串。包含了子进程退出的诸多信息,而不仅仅是退出值,因此父进程如果要获取这些信息,需要用以下宏对。的功能是获取自身进程的PID,在程序该行,父进程和子进程分别输出了自己的PID,一个是。必然是父进程,因为只有父进程才能获取一个大于零的子进程的PID。给进程加载指定的程序,如果成功,进程的整个内存空间都被覆盖。必然是子进程,因为只有子进程才会从。
2025-02-23 00:00:34
762
1
原创 【进程 】
当程序被执行时,它会被载入内存,开启动态运行的进程之旅。同时,系统会为这个正在运行的进程分配栈、堆等内存空间,让它从静态的程序转化为一个有生命力的、动态的实体。简单来讲,程序是静态存储在硬盘上的文件,进程则是程序在内存中运行的活动实例。在Linux操作系统中,除了系统启动时的初始进程,其余所有进程都源自一个父进程的复刻(fork)。在整个Linux系统里,所有进程都起源于同一个初始进程,它们之间构成一棵倒置的进程树。它的诞生很特殊,在系统启动前,其身份信息就已存在于系统分区,系统启动时直接被复制到内存。
2025-02-22 23:58:52
948
1
原创 【linux核心命令】
后,所有者拥有读、写、执行权限(7 = 4 + 2 + 1),所属组拥有读、写权限(6 = 4 + 2 + 0),其他用户拥有读权限(4 = 4 + 0 + 0)。是一种高效的压缩工具,能实现非常高的压缩比,但压缩和解压过程通常需要更多的时间和系统资源。更高的压缩比,但压缩和解压速度相对较慢。是一种跨平台的压缩工具,可以对单个或多个文件、目录进行压缩,压缩后的文件以。是一种广泛使用的压缩工具,它能对单个文件进行压缩,压缩后的文件会添加。进行压缩,具有较好的压缩比和较快的处理速度,是一种常用的压缩格式。
2025-02-21 10:49:51
1528
4
原创 【正则表达式】
在 Linux 系统以及各类文本处理场景中,过滤器是极为实用的工具。它们能够接收输入文本,依据特定规则对其进行处理,并输出处理后的结果。grepawk和sed是其中最为常用的三个过滤器,它们在文本搜索、提取、替换等操作上各有所长。通过正则表达式与这些过滤器的结合,能够高效地完成复杂的文本处理任务。过滤器知识点代码示例运行结果grep查找匹配行,支持 BRE 和 ERE,可通过选项控制包含a的行忽略大小写包含A的行不包含a的行awk(基本)按行处理文本,拆分字段,执行操作。
2025-02-20 16:53:51
801
1
原创 shell脚本
脚本语言是一种为了能够快速编写程序、完成特定任务而设计的编程语言。它通常不需要编译,而是在运行时由解释器逐行解释执行。常见的脚本语言有 Shell 脚本、Python、JavaScript 等。Shell 脚本主要用于在 Unix、Linux 或 macOS 系统的命令行环境中自动化执行一系列命令,完成系统管理、文件处理等任务。脚本解释器是用于解释执行脚本语言代码的程序。对于 Shell 脚本来说,常见的解释器有 (Bourne Again SHell)、(Bourne Shell)、(Z Shell)等。
2025-02-20 16:36:12
671
原创 【数据挖掘】深度挖掘
在二分类问题中,如果数据是线性可分的,那么存在无数个超平面可以将不同类别的数据分开。最大超平面是指在这些能够正确分类的超平面中,使得两类数据到该超平面的间隔(margin)最大的那个超平面。在nnn维空间中,超平面可以用方程wTxb0wTxb0来表示,其中w\mathbf{w}w是超平面的法向量,x\mathbf{x}x是空间中的点,bbb是偏置项。对于线性可分的数据集,我们希望找到合适的w\mathbf{w}w和bbb来确定最大超平面。
2025-02-20 09:37:25
1559
原创 【数据挖掘】
个不同的簇(类别),使得同一簇内的数据点相似度较高,不同簇之间的数据点相似度较低。这指的是属性选择过程不依赖于具体的学习算法,而是基于数据本身的特征进行选择。个簇的质心(中心点),并将每个数据点分配到距离最近的质心所在的簇中,然后不断更新质心的位置,直到质心不再发生明显变化或达到最大迭代次数。通过统计方法(如 Z - score、箱线图)、基于模型的方法(如孤立森林、One - Class SVM)等检测数据中的异常值。将连续的数值属性转换为离散的类别属性,可降低数据复杂度,提高模型对数据的理解能力。
2025-02-19 20:28:38
1008
2
原创 【数据挖掘】数据仓库
介绍如何高效地计算数据立方体,以减少存储和计算资源的消耗。包括一些优化算法和技术,如预计算、增量计算等,以提高数据立方体的生成和更新效率。
2025-02-19 13:51:25
1553
6
原创 【数据挖掘】可信度
定义ROC曲线是基于真正例率(True Positive Rate,TPR)和假正例率(False Positive Rate,FPR)这两个指标绘制出的曲线。TPR表示实际为正例且被模型正确预测为正例的比例,FPR表示实际为负例但被模型错误预测为正例的比例。原理:模型在进行二分类预测时,会根据预测结果的概率或得分设置一个阈值来判断样本属于正类还是负类。通过不断改变这个阈值,得到一系列不同阈值下的TPR和FPR值,将这些值在平面直角坐标系中描点并连接起来,就形成了ROC曲线。
2025-02-19 12:08:37
1133
原创 【数据挖掘】--算法
例如,在Weka的Explorer界面中,可以直接加载ARFF格式数据,选择不同的分类算法(如朴素贝叶斯、决策树等)进行训练和测试,并查看模型性能指标。:将数据点划分到一系列嵌套的球中,每个节点对应一个球,球内包含若干数据点。:将多个模型的输出进行聚合,如在集成学习中,将多个分类器的预测结果通过投票、平均等方式聚合,得到最终的预测结果。:将多个输入实例组合成一个更复杂的输入表示,例如将多个时间序列数据聚合为一个特征矩阵,以捕捉数据的全局特征。比如在学生成绩数据中,用平均成绩填补缺失的成绩值。
2025-02-19 10:17:15
1642
原创 【数据挖掘】ARFF格式与数据收集
其中,属性可以包括顾客ID、商品ID、购买数量、购买时间等。通过对这种ARFF格式数据进行关联规则挖掘等数据挖掘操作,分析顾客的购买行为模式,例如发现哪些商品经常被一起购买,从而为商品陈列和促销活动提供依据。将数据对象分组为相似对象的簇。例如,对客户购买行为数据进行聚类,将相似购买模式的客户分为一组。例如,在一个电影评分系统中,用户对大量电影的评分可能未给出,导致评分矩阵中存在大量缺失值,形成稀疏数据。例如,在问卷调查中,部分受访者未填写年龄。例如计算均值、中位数、标准差,绘制直方图、箱线图等。
2025-02-19 09:34:18
1214
原创 HTTP FTP SMTP TELNET 应用协议
当用户使用邮件客户端(如 Outlook、Thunderbird)发送邮件时,客户端会将邮件按照 SMTP 协议封装成邮件消息,并发送到邮件服务器,邮件服务器再将邮件转发到目标邮件服务器。需要注意的是,在实际应用中,还需要处理更多的错误情况和异常,以确保程序的健壮性。
2025-02-18 17:09:59
1103
原创 C++-----------酒店客房管理系统
酒店客房管理系统 要求:1.客房信息管理:包括客房的编号、类型、价格、状态等信息的录入和修改;2.顾客信息管理:包括顾客的基本信息、预订信息等的管理;3.客房预订:客户可以根据需要进行客房的预订,系统会自动判断客房的可用情况;4.入住管理:客户入住时需要进行登记,同时系统会自动更改客房的状态信息;*5.结账管理:客户结账需要进行登记,同时系统会自动更改客房的状态信息;*6.统计报表:包括客房的使用情况、收入情况等的统计报表。5和6 功能可选 使用文件保存信息。
2025-02-13 20:14:32
1693
原创 zhai: 02-10 16:16:23 STL 编程练习 由于系统升级改造,部分图书被重复录入系统 设计以下功能 1. 重复的图书只保留一个 2. 查看图书信息, 也可以排序(价格降序) 3
重载是指在同一作用域内,允许存在多个同名函数或运算符,但它们的参数列表(对于函数)或操作数类型(对于运算符)不同。编译器会根据调用时提供的参数或操作数的类型和数量来决定具体调用哪个重载版本。容器是一种用于存储和管理一组元素的数据结构。在 C++ 标准模板库(STL)中,提供了多种容器,每种容器都有不同的特性和适用场景。算法是一组用于操作容器中元素的通用函数。STL 提供了大量的算法,这些算法独立于具体的容器类型,可以应用于各种容器。
2025-02-10 20:53:45
408
原创 【大数据】机器学习----------强化学习机器学习阶段尾声
其中 (S_t) 和 (S_{t+1}) 是连续的状态,(R_{t+1}) 是从 (S_t) 到 (S_{t+1}) 获得的奖赏,(\alpha) 是学习率。请注意,上述代码仅为简单示例,在实际应用中可能需要更复杂的环境和算法调整。同时,对于使用的库,如。,其中 (\pi(a|s)) 是策略,表示在状态 (s) 下采取动作 (a) 的概率。
2025-01-21 14:45:50
1641
4
原创 【大数据】关于机器学习----------规则学习
规则学习通过序贯覆盖等策略生成规则,使用剪枝优化提高泛化能力,一阶规则学习和归纳逻辑程序设计可处理更复杂的逻辑关系。
2025-01-21 14:27:06
1232
原创 【大数据】机器学习----------概率图模型
**学习**:在概率图模型中,学习是指从数据中估计模型的参数。对于有向图模型(如HMM),常用的学习算法有 Baum - Welch算法(基于EM算法)等;对于无向图模型(如MRF、CRF),可以使用最大似然估计、最大后验估计等方法,并通过一些优化算法(如梯度下降、拟牛顿法等)来求解参数。- **推断**:是指在给定模型和已知部分变量的观测值的情况下,计算其他未知变量的概率分布或最可能的取值。常见的推断任务包括求边缘概率、条件概率、最大后验概率等。精确推断方法有变量消去法、信念传播算法(BP算法)等,但
2025-01-21 10:51:38
977
原创 【大数据】机器学习-----------半监督学习
在某些情况下,对函数(f)进行松弛处理,能让(f)获得一个闭式解,这意味着前面提及的目标方程存在全局最优解。然而,此时(f(x))变成了处于([-1,1])区间的实数,无法直接当作一个标签来使用。不过,我们可以通过设定阈值的方式来解决这个问题,例如,当(f(x) \geq 0)时,预测标签(y = 1),反之则(y = -1)。通过这样的表述,在传达相同知识点的基础上,对文字进行了重新组织和调整,以降低查重率,同时保留了原有的配图,以便更好地辅助理解相关内容。设图的邻接矩阵为(W),度矩阵为。
2025-01-21 10:15:31
1160
原创 【大数据】机器学习----------特征选择与稀疏学习
特征选择旨在从原始特征集中选择一个最具代表性的子集,以提高模型性能、降低计算成本和减少过拟合。稀疏学习则侧重于找到数据的稀疏表示,即使用尽可能少的特征来表示数据。
2025-01-21 09:37:08
1116
原创 【大数据】机器学习----------降维与度量学习
降维旨在将高维数据映射到低维空间,同时尽可能保留重要信息,而度量学习旨在学习数据之间的距离度量,以改善学习算法的性能。
2025-01-20 20:04:23
861
2
原创 【大数据】机器学习------聚类
聚类是一种无监督学习任务,旨在将数据集中相似的数据点划分到同一组(簇)中,使得同一簇内的数据点相似度高,不同簇的数据点相似度低。聚类是无监督学习中的重要任务,不同的聚类算法适用于不同的数据分布和场景。性能度量可以评估聚类结果的好坏,距离计算是许多聚类算法的基础,原型聚类(如K-Means)适合球形数据,密度聚类(如 DBSCAN)适用于处理噪声和非球形数据,层次聚类可以生成聚类的层次结构。
2025-01-20 19:47:11
1003
原创 【大数据】机器学习----------集成学习
Bagging 是一种并行的集成学习方法,通过自助采样(Bootstrap Sampling)生成多个训练集,训练多个学习器,然后结合它们的结果。Boosting 是一种串行的集成学习方法,通过不断调整训练样本的分布,使得后续的学习器更加关注之前学习器分错的样本。集成学习是通过构建并结合多个学习器来完成学习任务,通常比单一学习器有更好的泛化性能。- 训练一个弱学习器 (h_t) ,使用加权样本集。,(Z_t) 是归一化因子。计算弱学习器的错误率。
2025-01-17 17:49:19
1070
1
原创 【大数据】机器学习-----------贝叶斯分类器
对于含有隐变量 (Z) 的模型,目标是最大化似然函数 (L(\theta)=\sum_{i = 1}^{n}\log\sum_{z}P(x_i,z|\theta))。是独立同分布的,对于参数为 (\theta) 的概率分布。,极大似然估计是寻找一个 (\theta) 使得似然函数。
2025-01-17 17:35:37
1050
1
原创 【大数据】机器学习------支持向量机(SVM)
目标是最大化间隔,即最小化(\frac{1}{2}|w|^2),同时满足![在这里插入图片描述。,对于所有(y_i = -1) 的样本,(w^T x_i + b \leq -1)。,其中(x_i \in R^d) 是特征向量。,将数据映射到高维空间。是类别标签,目标是找到一个超平面。对于线性可分的数据集。
2025-01-17 17:07:30
994
人工智能实训 里面有一些数据集可视化 还有图形窗口界面,数据分析
2024-05-27
ssss.rar贪吃蛇游戏demo
2024-03-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人