【人工智能基础2】机器学习、深度学习总结
文章目录
- 一、人工智能关键技术
- 二、机器学习基础
- 1. 监督、无监督、半监督学习
- 2. 损失函数:四种损失函数
- 3. 泛化与交叉验证
- 4. 过拟合与欠拟合
- 5. 正则化
- 6. 支持向量机
- 三、深度学习基础:深度神经网络
- 1、概念与原理
- 2、多层神经网络训练方法
一、人工智能关键技术
领域 | 基础原理与逻辑 |
---|---|
机器学习 | 机器学习基于数据,研究从观测数据出发寻找规律,利用这些规律对未来数据进行预测。基于学习模式,机器学习可以分为监督、无监督、强化学习;基于学习方法,将机器学习分为传统机器学习和深度学习。 |
深度学习 | 深度学习是机器学习的一个子集,利用多层神经网络从大量数据中进行学习 。深度学习在搜索、数据挖掘、机器翻译、自然语言处理、语音识别、个性化推荐等相关领域都取得了很多成果。机器学习模仿人类的视听、思考,解决了很多复杂的模式识别难题。 |
计算机视觉 | 利用计算机模仿人类视觉系统,实现对图像及图像序列的提取、处理、理解和分析。逻辑是依据不同类别,处理视觉信号,广泛应用于多个领域。 |
自然语言处理 | 研究人与计算机之间通过自然语言进行沟通。通过机器翻译、语义理解、问答系统等方式,达成自然语言交互的目的。 |
知识图谱 | 用于描述客观世界中概念、实体、事件及其关系,本质是结构化的语义知识库,采用由节点和边组成的图数据结构。以“实体—关系—实体”三元组等构建知识结构,应用于语义搜索等场景。 |
SLAM技术 | 运动物体依靠传感器信息,同时计算自身位置并构建环境地图。旨在解决未知环境下机器人的定位与地图构建问题,依据传感器类型分为视觉SLAM和激光SLAM。 |
人机交互 | 主要研究人和计算机之间的信息交换过程。借助传统交互设备以及新型的语音、情感、体感、脑机交互等技术,实现人机间的信息交流。 |
VR/AR/MR技术 | 以计算机为核心,生成在视觉、听觉、触感等方面与真实环境高度近似的数字化环境,用户借助特定装备与该环境中的对象进行交互。 |
生物特征识别 | 通过个体的生理特征或行为特征来识别认证身份,整个过程分为注册和识别两个阶段。注册时采集并存储特征,识别时采集待识别人的特征并与存储特征进行比对,以此完成身份辨认(一对多)与确认(一对一)。 |
知识图谱应用场景广泛,可用于语义搜索、智能问答、个性化推荐等。
-
语义搜索
语义搜索首先将用户输入的问句进行解析,找出问句中的实体和关系,理解用户问句的含义,然后再知识图谱中匹配查询语句,找出答案,最后通过一定形式将结果呈现到用户面前。 -
智能问答
智能问答,属于一问一答,只要一个答案,也就是将最相关的那个答案反馈给用户,如果像聊天一样不断地进行问答,问答不仅仅是在知识库中搜索,还要考虑前面的聊天内容,考虑的实体和关系更复杂,效果不如语义搜索。 -
个性化推荐或精准营销
个性化推荐系统通过收集用户的兴趣爱好、属性,产品的分类、属性、内容等,分析用户之间的社会关系,用户和产品的关联关系,利用个性化算法,推断出用户的喜好和需求,从而为用户推荐感兴趣的产品或内容。
二、机器学习基础
1. 监督、无监督、半监督学习
- 监督学习:分为回归(函数拟合,捕捉输入到输出的函数映射关系)和分类(如决策树、逻辑回归、支持向量机)问题。
- 如Iris数据集标注了花卉样本所属品种,算法借此学习如何依据测量结果分类样本。
- 无监督学习:训练数据无标签,旨在找出数据结构和模式,如聚类算法。
- k-means算法将样本划分为k个簇,简单高效但对初始簇中心敏感、需事先指定k(几个簇)等;
- 谱聚类基于图论,能处理非球形簇和高维数据,步骤包括构建相似度矩阵、计算拉普拉斯矩阵等,应用于图像分割、社交网络分析等领域。
- 比如在图像聚类中,可将相似特征的图像聚为一类,像把不同风景图片按自然风光、城市景观等类别聚类。
2. 损失函数:四种损失函数
损失函数:表示预测与真实答案的距离。
用于回归的函数:平方和绝对损失函数
用于分类的函数:0-1、交叉熵损失函数
交叉熵损失函数在神经网络分类问题中常用,主要有以下原因:
- 与分类任务目标契合:函数能够衡量真实分布与预测分布的差异,输出概率分布与真实类别分布越接近,损失越小,很好地适配分类任务中让模型预测类别概率的目标。
- 计算效率高:计算过程相对不复杂,在大规模数据和复杂网络训练中,能有效降低计算成本,提高训练效率。
- 梯度特性好:能为神经网络的反向传播提供清晰且有效的梯度信息,有助于模型快速收敛,避免训练过程中出现梯度消失或爆炸等问题。
3. 泛化与交叉验证
- 泛化指模型对新数据的预测能力,一个良好的泛化能力的模型能够捕捉到数据的潜在规律;
- 交叉验证是评估并提高模型预测性能的统计方法,通过分割数据减少偏差,常用K折交叉验证,将数据集分成K个子集,轮流作为验证集,其余为训练集,最终取结果平均值评估模型性能。
4. 过拟合与欠拟合
- 欠拟合:模型在训练集和测试集上表现都差,解决办法包括增加特征数量、模型复杂度,减少正则化参数,增加训练数据,改进特征工程,使用更复杂算法或集成学习。
- 过拟合:模型在训练集表现好但测试集表现差,解决办法有权值衰减、提前停止训练、正则化、减少模型参数、Dropout、数据增强、决策树剪枝、交叉验证等 。
5. 正则化
正则定义:为了控制模型复杂度,保证模型泛化性能,防止过拟合。通过在目标函数添加惩罚项,来约束模型复杂度。
正则化的类型(L1(套索)、L2(岭)):L1是通过减少参数的数量来降低复杂度,L2是通过减小参数值的大小来降低复杂度。
6. 支持向量机
SVM是为了找到最优超平面,让两类数据点到它的距离最大化的平面,其中超平面只与支持向量相关。
当数据不可完美分配时,通过核函数将数据隐式映射高维空间,变的线性可分,并且避免复杂计算。
- SVM 概念:监督式学习的分类算法,目标是在特征空间中找最优超平面,使不同类别数据点尽可能分开,且超平面是让两类数据点到它的距离最大化的平面。
- 支持向量:在支持向量机(SVM)里,当解决二分类问题时,会去寻找一个能把两类数据分开的超平面。超平面要使两类数据点到它的距离最大化,叫做最大间隔超平面。
二分类问题可用线性函数作分类器;训练后的模型只与支持向量相关,删除非支持向量样本点不影响模型。- 核技巧: 当数据不完美可分时,通过核函数将原始数据隐式映射到高维特征空间,使原始空间线性不可分的数据在高维空间可能线性可分,且避免高维空间的复杂计算。
三、深度学习基础:深度神经网络
1、概念与原理
又称深度神经网络,通过构造多层神经网络,提取转换底层特征为高层特征,比如实现分类等。
深度神经网络模型有:卷积(图像)、循环(有记忆?)、长短时(处理长文本)、Transformer(并发效率,处理更长文本)
深度学习又称深度神经网络,模拟人类神经大脑系统神经元协同工作原理。通过构造多层神经网络,将底层特征逐步转换为高层特征表示,实现复杂分类等任务。
典型的深度学习模型有卷积神经网络、循环神经网路、长短时记忆神经网络、深度置信网络。
传统机器学习需手工编码特征,耗时且依赖专业知识。深度学习则直接从数据自动学习特征,采用端到端方式解决复杂问题。其模型结构深度大,隐藏层多,通过逐层特征变换,更能挖掘数据内在信息。
- 语音识别:深度学习模型可直接从语音数据中学习到语音的特征,进而识别出语音内容。
- 图像分类:
2、多层神经网络训练方法
- 从下向上进行非监督学习,逐层训练;
- 自上而下进行监督学习,与标签对比,计算误差调整(激活函数梯度下降法)参数,并将误差反向传播。
训练方法:2006年Geoffrey Hinten提出有效训练多层神经网络的方法。
第一步,自下(输入层)而上进行非监督学习,逐层训练,上一层的输出作为下一层的输入。
逐层构建单层神经元,分层训练各层函数,学习各层参数。例如先训练第一层,再以其输出作为下一层输入继续训练。
第二步,自上(最后一层)而下进行监督学习:底层与标签对比,计算误差调整参数,接着将误差反向传播到下一层,逐层调整。
- 在完成了第一步逐层构建单层神经元并学习到各层参数后,此时已经得到了一个初步的多层神经网络模型。接下来,使用有标签的数据,将顶层的输出与实际标签进行对比,计算出误差,然后根据这个误差来调整顶层的参数,使得顶层的输出更接近实际标签。
- 调整完顶层后,再将误差反向传播到下一层,以此类推,从顶层开始依次向下调整各层的参数,让整个神经网络的输出结果能够更好地符合预期,从而提高模型的准确性和泛化能力。这种从顶层开始逐步向下调整参数的方式就被称为 “自顶而下”。
相关文章:
【人工智能基础2】机器学习、深度学习总结
文章目录 一、人工智能关键技术二、机器学习基础1. 监督、无监督、半监督学习2. 损失函数:四种损失函数3. 泛化与交叉验证4. 过拟合与欠拟合5. 正则化6. 支持向量机 三、深度学习基础:深度神经网络1、概念与原理2、多层神经网络训练方法 一、人工智能关键…...
MySQL如何存储表情符号?
存储表情符号 默认mysql的字符集是utf8,排序规则为 utf8_general_ci INSERT INTO department (name) VALUES (😄)在存储表情的时候会报 1366 - Incorrect string value: \xF0\x9F\x98\x84 for column name at row 1, Time: 0.007000s 这时需要修改字符…...
Unity Shader 学习16:全局光照 概念理解
- 全局光照 直接光 间接光,在没有开启GI的情况下是不计算间接光的(如果放了光照探针 倒是可以模拟间接光 <光照探针只影响动态物体>); - 处理对象:静态物体(static) 、 非静态(动态)物体; - 计算方…...
Jobby、Quarkus 和 Spring Boot对比
Jobby、Quarkus 和 Spring Boot 是三种不同的 Java 框架,各自有不同的设计目标和适用场景。以下是对它们的详细对比: 1. 设计目标 框架设计目标Jobby轻量级的任务调度框架,专注于任务调度和执行。Quarkus面向云原生和 Kubernetes 的 Java 框…...
Dubbo 服务发现
总览 学习 Dubbo 的服务发现机制,可以从以下几方面入手: 注册中心的配置服务的注册客户端拉取服务列表服务列表的本地缓存服务提供者列表变更的监听机制服务发现的接口设计 注册中心的配置 Dubbo 通过解析用户配置决定使用的注册中心。比如用户配置了…...
Pytorch使用手册—自定义 C++ 和 CUDA 运算符(专题五十一)
你将学到什么 如何将用 C++/CUDA 编写的自定义运算符与 PyTorch 集成如何使用 torch.library.opcheck 测试自定义运算符先决条件 1. PyTorch 2.4 或更高版本 2. 对 C++ 和 CUDA 编程有基本了解 注意 本教程也适用于 AMD ROCm,无需额外修改。 PyTorch 提供了一个庞大的运算符库…...
Linux 实时同步服务实现(Rsync 结合 Inotify)
文章目录 1. 实时同步服务介绍2. Inotify 机制介绍3. Inotify-toolRsync 实时同步实践3.1 确认远程数据传输服务部署完成3.2 检查Linux系统是否支持Inotify实时监控3.3 安装inotify-tools3.4 命令测试3.5 重要监控事件汇总3.6 使用步骤 4. Sersync 工具使用(重点&am…...
用Java写斗地主前期工作的一些小想法
目前我们并不是要实现一个游戏,而是要对斗地主游戏做准备,主要是做牌+洗牌+发牌+给发的牌进行排序。在这个过程中我希望通过集中方式来实现: 1. 使用集合+方法+字符串的运用完成以上功能 2. 使用面向对象思想,对1做改进,主要是对其排序的改进,从而理解面向对象的真正意…...
鸿蒙数据持久化之首选项
场景介绍 用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。当用户希望有一个全局唯一存储的地方,可以采用用户首选项来进行存储。Preferences会将该数据缓存在内存中,当用户读取…...
将bin文件烧录到STM32
将bin文件烧录到STM32 CoFlash下载生成hex文件hex2bin使用下载bin到单片机 CoFlash下载 选择需要安装的目录 在Config中可以选择目标芯片的类型 我演示的是 stm32f103c8t6 最小系统板 Adapter:烧录器类型 Max Clock:下载速度 Por:接口类型&am…...
AtCoder Beginner Contest 397(ABCDE)
目录 A - Thermometer 翻译: 思路: 实现: B - Ticket Gate Log 翻译: 思路: 实现: C - Variety Split Easy 翻译: 思路: 实现: D - Cubes 翻译:…...
jasypt-spring-boot-starter项目如何使用jasypt加密密码
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor; import org.jasypt.iv.RandomIvGenerator; import org.jasypt.salt.RandomSaltGenerator;/*** 加密密码的工具** author xxx* since 2025-03-17*/ public class JasyptTest {public static void main(String[] a…...
[AI速读]混合语言IP集成:挑战与高效解决方案
在现代SoC(系统级芯片)设计中,IP(知识产权模块)复用是提升开发效率的关键。然而,当设计涉及多种硬件描述语言(如SystemVerilog、VHDL、SystemC)时,如何高效集成不同语言的IP模块成为一大难题。本文将从实际设计场景出发,探讨混合语言IP集成的核心挑战,并介绍一套方法…...
SpringSecurity——如何获取当前登录用户的信息
目录 1. 直接注入 Principal 2. 直接注入 Authentication 3. 注入 UsernamePasswordAuthenticationToken 4. 通过 SecurityContextHolder 获取 5. 使用自定义工具方法 总结 如何获取更多的用户信息 自定义用户实体类 如何忽略某些字段(不返回前端ÿ…...
ospf动态路由
一、为什么使用动态路由 OSPF(open shortest path first开放最短路径优先)是内部网关协议(IGP)的一种,基于链路状态算法(LS)。 OSPF企业级路由协议(RFC2328 OSPFv2),核心重点协议 OSPF共三个版本,OSPFV1主要是实验室…...
在react当中利用IntersectionObserve实现下拉加载数据
目录 一、传统的下拉加载方案 二、存在问题 1.性能较差 2.不够精确 三、IntersectionObserve版本下拉加载 1、callback 2、options 四、IntersectionObserver实例 1、Intersection的优势 2、实现思路 3、代码实现 在进行前端开发的过程中,常常会碰到下拉…...
SpringBoot之如何集成SpringDoc最详细文档
文章目录 一、概念解释1、OpenAPI2、Swagger3、Springfox4、Springdoc5. 关系与区别 二、SpringDoc基本使用1、导包2、正常编写代码,不需要任何注解3、运行后访问下面的链接即可 三、SpringDoc进阶使用1、配置文档信息2、配置文档分组3、springdoc的配置参数**1. 基…...
Transaction rolled back because it has been marked as rollback-only问题解决
transaction rolled back because it has been marked as rollback-only 简略总结> 发生场景:try-catch多业务场景 发生原因:业务嵌套,事务管理混乱,外层业务与内层业务抛出异常节点与回滚节点不一致。 解决方式:修…...
单片机写的小液晶屏驱动+汉字滚屏
单片机写的小液晶屏驱动汉字滚屏 stm32f401freertos内置HZK16 单片机汉字滚屏...
SpringBoot整合LangChain4j操作AI大模型实战详解
一、引言 在当今这个人工智能飞速发展的时代,AI大模型已经逐渐渗透到我们生活的方方面面,为企业和开发者带来了前所未有的机遇。然而,如何高效地接入并利用这些AI大模型,成为了摆在许多开发者面前的一道难题。SpringBoot作为一款…...
深度解析 | Android 13 Launcher3分页指示器改造:横线变圆点实战指南
一、需求背景与技术挑战 在Android 13系统定制开发中,我们面临将Launcher3桌面从传统双层架构优化为现代单层布局的挑战。原生系统采用的分页横线指示器在视觉呈现上存在两点不足: 风格陈旧不符合Material You设计规范 空间占用较大影响屏幕利用率 通…...
【Qt】private槽函数可以被其他类中的信号连接
private槽函数可以被其他类中的信号连接。 即使 B 类的槽函数是 private 的,A 类通过信号连接 B 类的槽函数也没有问题。这是因为 Qt 的信号和槽机制是通过元对象系统(Meta-Object System)实现的,而不是直接调用函数。只要信号和…...
C语言每日一练——day_7
引言 针对初学者,每日练习几个题,快速上手C语言。第七天。(连续更新中) 采用在线OJ的形式 什么是在线OJ? 在线判题系统(英语:Online Judge,缩写OJ)是一种在编程竞赛中用…...
Python --**kwargs
在 Python 中,**kwargs 是一个特殊语法,用于在函数定义中接收任意数量的关键字参数(即键值对参数),并将这些参数以字典形式存储。它是 Python 中处理动态参数的强大工具,适用于需要灵活传递参数的场景。 1.…...
网络编程之客户端通过服务器与另外一个客户端交流
服务器使用select模型搭建,客户端1使用线程搭建,客户端2使用poll模型搭建, 使用时需要先运行服务器,具体编译可看我最后的图片 head.h头文件 #ifndef __HEAD_H_ #define __HEAD_H_ #include <stdio.h> #include <string…...
mybatis集合映射association与collection
官方文档:MyBatis的一对多关联关系 一、用途 一对一:association 一对多:collection 二、association 比较容易理解,可参考官方文档 三、collection <?xml version"1.0" encoding"UTF-8"?> &l…...
windows克隆项目找不到,修改git bash中存储的账号密码
git clone项目找不到,提示:remote: The project you were looking for could not be found. 有可能是地址错误、没有权限、账号密码错误 1.地址错误 从新检查git地址,确保地址是正确的。 2.没有权限 确保你有访问该项目的权限 3.账号密码…...
Linux中安装redis
Redis的安装包,从官方下载下来的是c语言的源码包,我们需要自己编译安装。具体操作步骤如下: 安装redis 上传redis资源包 安装C语言的编译环境 gcc yum install -y gcc-c 解压redis源码在当前目录 tar -zxvf redis-6.2.4.tar.gz 进入解压目录…...
Springboot项目打包成war包
1、首先创建一个springboot工程,然后我们改造启动类如: import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuil…...
Word:双栏排版操作步骤及注意事项
将word单栏文字排版为双栏是论文投稿前的重要步骤,也是非常容易出错的一步。但事实上排版的操作并不复杂,本篇博客旨在把操作过程及注意事项简单记录下来,便于日后浏览和查询。 【Step1】打开“显示/隐藏段落标记” (ctrl*&#…...
ArcGIS10. 8简介与安装,附下载地址
目录 ArcGIS10.8 1. 概述 2. 组成与功能 3. 10.8 特性 下载链接 安装步骤 1. 安装准备 2. 具体步骤 3.补丁 其他版本安装 ArcGIS10.8 1. 概述 ArcGIS 10.8 是由美国 Esri 公司精心研发的一款功能强大的地理信息系统(GIS)平台。其核心功能在于…...
MySQL:数据库基础
数据库基础 1.什么是数据库?2.为什么要学习数据库?3.主流的数据库(了解)4.服务器,数据库,表之间的关系5.数据的逻辑存储6.MYSQL架构7.存储引擎 1.什么是数据库? 数据库(Database,简称DB)&#x…...
数据结构-----初始数据结构、及GDB调试
一、数据结构核心概念 相互之间存在一种或多种特定关系的数据元素的集合。 1. 数据结构定义 // 嵌入式场景示例:传感器网络节点结构 struct SensorNode {uint16_t node_id; // 2字节float temperature; // 4字节uint32_t timestamp; // 4字节struct Se…...
go面向对象编程三大特性,封装、继承和多态
1.简介 go具有面向对象编程的封装、继承和多态的特性,只是实现的方式和其它OOP语言不一样,下面看下go的三大特性是如何实现的。 2.封装 2.1基本介绍 封装就是把抽象出的字段和对字段的操作封装在一起,数据被保护在内部,程序的其它包只能通过被授权的操作(方法),才能…...
华为ISC+战略规划项目数字化转型驱动的智慧供应链革新(169页PPT)(文末有下载方式)
资料解读:华为ISC战略规划项目数字化转型驱动的智慧供应链革新 详细资料请看本解读文章的最后内容。 华为的ISC战略规划项目是其供应链数字化转型的核心,旨在通过智慧供应链的革新,提升企业的竞争力和运营效率。本文将从多个维度详细解读这…...
算法刷题记录——LeetCode篇(10) [第901~1000题](持续更新)
(优先整理热门100及面试150,不定期持续更新,欢迎关注) 994. 腐烂的橘子 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。 每…...
Python中的字典:深度解析与应用实践
一、字典的本质与特性 Python字典(Dictionary)是以**键值对(Key-Value Pair)**形式存储数据的无序集合,使用大括号{}定义。其核心特性包括: 快速查找:基于哈希表实现,通过键&#…...
jmeter配件元素
jmeter配件元素 CSV Data Set Config名词解释测试场景Recycle on EOF:False配置测试结果 Recycle on EOF:True配置测试结果 Sharing mode:All Threads配置测试结果 Sharing mode:Current thread group配置测试结果 Sharing mode:Current thread配置测试结果 HTTP Header Manage…...
VSCode + CMake
参考文献: 如何用 GCC, CMake 和 Make 编译C/C代码Windows 上的 Linux 子系统:WSLWSL:桌面 UI 远程连接 RDP 配置 VScode 文章目录 CMake 配置VSCode 配置launch.jsontask.jsonc_cpp_properties.json CMake 配置 编写如下的 CmakeLists.t…...
JVM的一些知识
JVM简介 JVM 是 Java Virtual Machine 的简称,意为 Java 虚拟机。 虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。常见的虚拟机:JVM、VMwave、Virtual Box。 JVM 和其他两个虚拟机的区别: VMw…...
SpringCloud网关:Gateway路由配置与过滤器链
文章目录 引言一、Gateway基本架构二、路由配置方式2.1 配置文件方式2.2 Java代码方式 三、内置断言工厂四、内置过滤器工厂4.1 请求路径相关过滤器4.2 请求和响应头过滤器4.3 功能性过滤器 五、自定义过滤器5.1 自定义GatewayFilter5.2 自定义过滤器工厂 六、全局过滤器总结 引…...
Git 分支使用规范全解(多人协作开发适用)
🚀 Git 分支使用规范全解(多人协作开发适用) 本文将为你梳理一套清晰、标准、适合企业/团队使用的 Git 分支管理策略,适用于前后端、边缘端、AI项目等多种场景。 🧩 为什么要规范分支管理? 防止多人协作混乱、冲突频发清晰区分:开发中 / 待发布 / 已上线 的版本快速定…...
【华三】路由器交换机忘记登入密码或super密码的重启操作
【华三】路由器交换机忘记登入密码或super密码的重启操作 背景步骤跳过认证设备:路由器重启设备翻译说明具体操作 跳过当前系统配置重启设备具体操作 背景 当console口的密码忘记,或者说本地用户的密码忘记,其实这时候是登入不了路由器的&am…...
Linux驱动开发进阶 - 文件系统
文章目录 1、前言2、学习目标3、VFS虚拟文件系统3.1、超级块(Super Block)3.2、dentry3.3、inode3.4、file 4、文件系统的挂载5、文件系统的注册5.1、文件系统的注册过程5.1.2、定义文件系统类型5.1.3、注册文件系统5.1.4、注销文件系统 5.2、文件系统的…...
Mac:JMeter 下载+安装+环境配置(图文详细讲解)
📌 下载JMeter 下载地址:https://jmeter.apache.org/download_jmeter.cgi 📌 无需安装 Apache官网下载 JMeter 压缩包,无需安装,下载解压后放到自己指定目录下即可。 按我自己的习惯,我会在用户 jane 目…...
蓝桥杯备考:图论之Prim算法
嗯。通过我们前面的学习,我们知道了,一个具有n个顶点的连通图,它的生成树包括n-1个边,如果边多一条就会变成图,少一条就不连通了 接下来我们来学一下把图变成生成树的一个算法 Prim算法,我们从任意一个结…...
Linux 文件操作-标准IO函数3- fread读取、fwrite写入、 fprintf向文件写入格式化数据、fscanf逐行读取格式化数据的验证
目录 1. fread 从文件中读取数据 1.1 读取次数 每次读取字节数 < 原内容字节数 1.2 读取次数 每次读取字节数 > 原内容字节数 2.fwrite 向文件中写入数据 2.1写入字符串验证 2.2写入结构体验证 3. fprintf 将数据写入到指定文件 4. fscanf 从文件中逐行读取内容…...
汽车一键启动系统使用方便,舒适出行,轻松匹配
汽车一键启动系统 系统定义 移动管家汽车一键启动系统是装置在智能汽车上的一部分,是实现简约打火和熄火过程的一个按钮装置。它可以在原车钥匙锁头的位置改装,也能独立面板改装,现在很多高低配置的车辆都可安装。 功能特点 基本功能 启…...
python函数的多种参数使用形式
目录 1. 位置参数(Positional Arguments) 2. 关键字参数(Keyword Arguments) 3. 默认参数(Default Arguments) 4. 可变参数(Variable Positional Arguments) 5. 关键字可变参数&…...
Qt带参数的信号和槽,以及信号与槽的连接方式
1.带参数的信号和槽 Qt的信号与槽也支持带有参数,同时也可以支持重载 此处我们要求,信号函数的参数列表要和对应连接的槽函数参数列表一致 此时信号触发,调用到槽函数的时候,信号函数中的实参就能够被传递到槽函数的形参中 示例…...