自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入理解 RIP 协议:配置、路由表建立与“坏消息传得慢”机制

本文通过实验演示RIP路由协议的工作原理。首先搭建包含两台路由器的实验网络,配置RIPv2协议并测试连通性。分析了RIP的路由表建立过程、周期性更新机制和跳数度量标准。重点解释了RIP"坏消息传得慢"的特性,即当网络故障时,路由器不会立即删除失效路由,而是通过180秒的垃圾计时器机制来避免网络震荡,体现了RIP的简单鲁棒设计。实验帮助理解距离矢量协议的基本原理和收敛特性。

2025-05-24 20:57:37 333

原创 从 E-R 模型到关系模式:主键和外键是怎么推导出来的?

本文通过“学院课程管理系统”实例,详细讲解了从E-R模型到关系模型的转换过程,重点解析了主键和外键的推导方法。在关系模式设计中,主键用于唯一标识记录,如Enroll表的(SID, CourseID)组合主键;外键则用于引用其他表的主键,确保数据一致性,如Enroll表中的SID和CourseID分别引用Student和Course表的主键。文章还介绍了E-R图的基本元素和绘制步骤,包括实体、属性、联系及其类型,并总结了转换过程中的关键规则,如一对多关系在“多”方添加外键,多对多关系建立中间表等。通过实例和图

2025-05-22 23:03:07 584

原创 C语言进阶 彻底搞懂链表:从基础到高级用法全面详解

本文系统介绍了C语言中链表的基本概念、分类、实现及操作。链表是一种动态数据结构,通过指针连接节点,具有插入删除灵活、内存分配动态的优势。文章详细讲解了单链表的定义、创建、插入、删除、查找和遍历等基本操作,并深入探讨了反转链表、合并有序链表、判断链表是否有环等进阶技巧。此外,还介绍了双向链表、循环链表及其应用场景,以及链表在LRU缓存、排序、模拟栈与队列中的高级用法。最后,文章强调了内存管理与调试的重要性,并建议通过刷题进一步掌握链表技巧。

2025-05-17 22:17:21 357

原创 数据库完整性详解:概念、分类与SQL实现案例

数据库完整性是确保数据准确性、一致性和可靠性的关键概念。它通过完整性约束实现,包括实体完整性、域完整性、参照完整性和用户定义完整性。实体完整性通过主键和唯一约束确保每行数据唯一;域完整性通过NOT NULL、CHECK和DEFAULT约束控制字段取值范围;参照完整性通过外键保证引用关系合法;用户定义完整性通过CHECK或触发器实现自定义业务规则。SQL语句如PRIMARY KEY、FOREIGN KEY、CHECK等用于实现这些约束。实际项目中,应在设计阶段定义约束,确保数据校验不仅依赖程序代码,还利用数据

2025-05-15 21:22:59 743

原创 用C语言实现多种进程调度算法模拟系统 —— FCFS、SJF、优先级+时间片轮转

本文介绍了一个用C语言实现的进程调度模拟系统,支持三种经典调度算法:先来先服务(FCFS)、短作业优先(SJF)和优先级+时间片轮转(Priority+RR)。系统通过读取CSV格式的进程数据,存储在PCB结构体数组中,用户可选择调度算法并动态设置时间片长度。调度完成后,系统输出每个进程的完成时间、等待时间、周转时间等统计信息,并计算平均等待时间和平均带权周转时间。实验结果表明,SJF和优先级+RR算法在等待时间方面优于FCFS,其中优先级+RR算法整体表现最佳,兼顾公平性与高响应。

2025-05-13 21:30:21 354

原创 利用信号量实现线程同步 —— 生产自行车问题详解

在多线程并发编程中,确保共享资源的正确访问至关重要。本文以“生产自行车”为例,展示了如何利用信号量机制在C语言中实现线程间的同步与互斥控制。系统中设有两个生产者线程分别生产车架和车轮,一个消费者线程负责组装自行车。通过初始化多个信号量(如mutex、empty_slots、full_slots等),确保资源操作的安全性和正确性。生产者线程在生产资源时,通过信号量控制资源的存放和数量更新;消费者线程则通过信号量确保资源满足组装条件后才进行组装。实验结果表明,该模型有效避免了死锁、资源冲突和数据不一致问题,确保

2025-05-10 22:15:21 292

原创 操作系统:使用空闲分区链表模拟动态内存分配与释放

本实验模拟了一个简化的动态内存管理系统:使用固定大小的物理内存数组;采用空闲分区链表管理内存空闲区域;使用首次适配算法进行内存分配;在内存释放时自动合并相邻空闲块,减少碎片。通过本实验,可以加深了对内存分配与释放机制的理解,并掌握了链表管理资源的一般方法,为操作系统相关课程学习打下基础。

2025-05-08 20:06:08 602

原创 多线程、并发与并行:一文搞懂底层原理与实践应用

在现代计算中,"多线程"、"并发"、"并行"这些词频繁出现在我们的视野中。但它们究竟是什么意思?彼此之间有什么区别?实际开发中又该如何使用?本篇文章将带你深入理解这些概念的本质,并结合Java代码和场景帮助你真正掌握它们

2025-05-06 22:44:39 613

原创 C++ 基础语法入门(七)字符串详解

字符串是 C++ 编程中最常用的数据结构之一,用于处理文本信息。C++ 提供了多种处理字符串的方法,从基础的 C 风格字符串到现代的 std::string 和 std::string_view。本篇将系统介绍字符串的使用方式,进阶用法与性能优化技巧。

2025-05-03 20:14:03 338

原创 C++ 基础语法入门(六):数组详解

数组是 C++ 编程中处理数据最基础也最重要的工具之一。打好数组基础不仅有助于处理基本问题,还能更好地理解 STL 容器、内存管理与指针操作,为构建高质量程序打下坚实基础。

2025-04-30 08:30:00 277

原创 C++ 基础语法入门(五):函数详解

本篇将详细介绍函数的定义、调用、参数传递方式、重载、默认参数、递归等内容。

2025-04-29 22:14:33 271

原创 C++ 基础语法入门(四):流程控制语句详解

本篇介绍 C++ 中的流程控制:条件判断(if)、循环语句(while、for)等,是程序控制逻辑的核心部分。

2025-04-22 10:08:51 318

原创 C++ 基础语法入门(三):运算符详解

本文是 C++ 学习系列的第三篇,介绍各种类型的运算符,帮助你掌握编程中表达逻辑与计算的核心工具。

2025-04-18 08:00:00 396

原创 C++ 基础语法入门(二):输入与输出详解

本文为 C++ 学习系列的第二篇,讲解 C++ 中最基础也最常用的输入输出(I/O)操作,帮助你掌握与用户交互的基本方式。

2025-04-16 08:00:00 279

原创 C++ 基础语法入门(一):变量与数据类型详解

本文为 C++ 学习路线的第一篇,深入讲解变量与数据类型的基础知识,帮助你打下坚实的编程基础。

2025-04-15 19:56:32 598

原创 C++ 面向对象编程核心概念大全

本文介绍了 C++ 面向对象编程(OOP)的核心概念,帮助读者更好地理解类与对象的设计和使用。博客内容涵盖了类与对象、封装、继承、多态、构造函数规则、组合与继承等关键知识点,分别讲解了每个概念的定义和使用方式。

2025-04-12 19:20:04 572

原创 深入了解时间序列预测模型评估指标

均方误差是实际值与预测值之间的绝对差的平均值。它是衡量预测结果与实际数据偏差的一种常见指标。MAE 的值越小,表示模型的预测越准确。均方根误差是均方误差的平方根,用来衡量模型的预测值与真实值之间的误差大小。RMSE 越小,说明模型预测的误差越小,预测能力越强。R² 值是用于评估回归模型的好坏的一个常见指标。它衡量的是模型的预测值与实际值的相关程度,范围从 0 到 1,越接近 1 表示模型对数据的解释能力越强。sMAPE 是一种衡量预测精度的指标,常用于时间序列预测任务中。

2025-04-09 08:00:00 1010

原创 初学者指南 使用PyTorch实现XOR问题的神经网络训练:支持GPU与权重初始化的优化版本

本篇博客是《使用 PyTorch 构建简单神经网络》的第三篇,针对上一版本进行了全面优化:引入 GPU 加速、采用 Xavier 权重初始化、将数据精度设为 float32,并将训练轮数增加至 20000 次。在新的设置下,模型成功学会了 XOR 问题,输出结果与真实标签高度一致,权重值也显示出更强的区分能力。本文还通过图表与思维导图形象总结了改进点,为后续深入探索神经网络打下基础。

2025-04-07 17:48:28 276

原创 初学者指南 使用PyTorch实现XOR问题的神经网络训练:带CUDA支持

本篇博客是对上一篇XOR神经网络实现的优化与改进,重点加入了CUDA支持和Xavier权重初始化,以提升训练效率和模型收敛速度。我们使用PyTorch构建了一个包含输入层、隐藏层和输出层的MLP神经网络,并使用ReLU和Sigmoid激活函数进行非线性变换。训练过程中,使用均方误差(MSE)损失函数和随机梯度下降(SGD)优化器来更新模型参数。实验结果表明,通过GPU加速和合理的权重初始化,可以有效提高训练性能,使网络成功学习XOR逻辑。本文适合深度学习初学者,帮助理解神经网络训练的关键步骤和优化策略

2025-04-04 08:00:00 622

原创 初学者指南:使用PyTorch实现一个简单的神经网络

这篇博客介绍了如何使用 PyTorch 构建和训练一个简单的多层感知机(MLP)神经网络,用于解决经典的 XOR 问题。文章从数据准备开始,展示了如何将输入和输出转换为 PyTorch 张量。接着,定义了一个包含输入层、隐藏层和输出层的神经网络,并使用 ReLU 和 Sigmoid 激活函数进行前向传播。训练过程中,使用均方误差(MSE)作为损失函数,梯度下降(SGD)作为优化器,通过反向传播和参数更新来优化模型。最后,展示了如何查看模型的输出和权重,帮助初学者理解神经网络的构建与训练过程。

2025-04-01 21:42:57 841 3

空空如也

空空如也

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

TA关注的人

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