- 博客(45)
- 收藏
- 关注
原创 C++11 auto,异常处理,非虚接口
本文摘要:文章介绍了C++11的auto类型推导机制及其注意事项,包括必须初始化、迭代器应用和const限定符处理。详细讲解了异常处理机制(try-throw-catch)的特点和使用方法。针对IO处理,提出了通过虚化全局函数实现多态输出的解决方案。最后讨论了多态编程中的对象数组问题,建议使用指针数组替代对象数组以避免切片问题。这些内容涵盖了C++编程中的关键特性与最佳实践。
2025-12-19 20:57:47
539
原创 C++模板编程:从入门到精通
摘要:C++模板机制 本文系统介绍了C++模板机制及其应用。模板是一种源代码复用技术,通过参数化模块实现对不同类型数据的相同操作,属于编译时多态。主要内容包括: 函数模板:定义一类重载函数,编译器自动实例化,支持多类型参数和普通参数组合。通过完美转发(std::forward)保持参数值类别,解决右值引用问题。 类模板:定义多个类,显式指定模板参数,静态成员属于实例化后的类。强调模板完整定义需放在头文件中以避免链接错误。 特化技术:包括显式具体化(全特化)解决特殊类型处理,如字符串比较。
2025-12-19 19:47:34
328
原创 C++操作符重载深度解析
本文介绍了C++操作符重载的基本概念和使用方法。主要内容包括: 操作符重载的基本原理:通过函数重载机制,为自定义类型重新定义操作符的语义,使自定义类型能像内置类型一样使用操作符。重载方式可以是成员函数或全局函数(需包含自定义类型参数)。 常见操作符重载示例: 算术运算符(如+)重载 自增/自减运算符重载(区分前置和后置形式) 流操作符(<<)重载 赋值运算符(=)重载
2025-12-19 19:20:31
648
原创 高效文献阅读与笔记整理方法:从 筛选 到 3Pass 精读
高效文献阅读与笔记整理指南 文献阅读是科研工作的基础,需系统掌握技巧:首先明确阅读目的(了解背景/研究方向/设计思路/写作能力),按需选择重点章节。采用三遍阅读法:1)浏览标题、摘要、结论;2)通读全文重点图表;3)精读复现研究思路。笔记应避免简单抄写,建议记录文章核心信息、创新点、启发点(1个思路+2个图表+5个句式)。推荐使用Connected Papers等工具追踪领域经典与前沿文献。通过结构化阅读与思考性笔记,可有效提升科研效率与写作水平。
2025-11-03 15:23:47
477
原创 力扣周赛困难-3681. 子序列最大 XOR 值 (线性基)
本文介绍了如何利用线性基求解子序列最大异或值问题。通过分析,将问题转化为经典线性基问题:在32维空间中维护基向量,确保每个基的最高位1的位置不同。采用贪心算法从高位到低位处理,通过异或操作判断数字能否被当前基表出,并动态更新基向量。最后,利用构造好的线性基,从高到低贪心地选择是否异或每个基,从而得到最大异或值。文章还简要提及了线性基的合并和求交操作。
2025-09-16 15:40:28
937
原创 力扣周赛困难-3677. 统计二进制回文数字的数目(需要一定推理的经典二分)
本文分析了统计二进制回文数字数量的问题。二进制回文数的特点是正反读相同,且不含前导零。通过观察发现,n位二进制回文数的数量为2^((n-1)/2)。对于输入n≤10^15,最多需要处理50位二进制数。文章提出了一种高效解法:先预处理各数位的最小回文数和累计数量,再利用二分查找定位不大于n的最大回文数。核心思路是将问题转化为有序生成二进制回文数并进行二分查找,避免了暴力枚举的低效。最终给出了实现代码,展示了如何通过位操作和字符串处理来高效计算符合条件的回文数数量。
2025-09-09 16:19:27
1079
原创 从MyJUnit反思Java项目的工程实践(版本控制篇)
本文总结了Java项目中版本控制的最佳实践,重点介绍了Git Flow分支管理模型和Conventional Commits提交规范。Git Flow规定了master/main、develop、feature、release和hotfix五类分支的用途及合并规则,确保开发过程结构化。Conventional Commits则通过标准化的提交信息格式(类型、范围、描述、正文和脚注)来维护清晰的提交历史,并提供了MyJUnit项目中的具体应用示例。这些实践有助于团队协作和代码管理,提升项目可维护性。
2025-08-25 20:54:36
1104
原创 开发者测试(Developer Test, DT)实践建议
开发者测试实践摘要 开发者测试旨在发现错误而非证明无错,具有评估可靠性、指导修正和归纳常见错误的功能。推荐采用白盒与黑盒结合、单元测试与系统测试结合的方法。测试先行能更早发现问题并提升代码质量。测试技巧包括:基于圈复杂度设计测试路径、数据流测试分析变量异常、边界值分析和多种数据类型测试。开发者测试需与其他质量保证措施配合使用,因其存在对覆盖率高估、忽略复杂情况等局限性。 (共149字)
2025-08-25 20:13:38
967
原创 从 JUnit 深入理解 Java 注解与反射机制
通过分析 JUnit 框架和实现简化版 MyJUnit,我们可以深入理解:注解机制:Java 注解作为元数据,可以在编译时被嵌入字节码,在运行时通过反射读取反射机制:JUnit 利用反射动态发现和执行测试方法,实现了测试的自动化框架设计:通过注解+反射的组合,可以创建高度可扩展的框架这种模式不仅应用于测试框架,在 Spring 等主流 Java 框架中也有广泛应用,是 Java 高级编程中的重要概念。
2025-08-24 23:20:03
1275
1
原创 实习复盘:六点心得(怎么从学生成长为工程师)
如何在实习中快速成长为工程师?本文总结了六点关键心得:1)以结果为导向,避免无效劳动;2)主动沟通对齐,提高团队协作效率;3)量化工作产出,让管理更清晰;4)理解任务背景,提出建设性意见;5)深入技术原理,破除"魔法"思维;6)定期复盘写作,沉淀个人成长。实习不仅是技术提升,更是从学生思维向工程师思维的转变过程,需要主动调整认知方式和工作方法。
2025-08-21 21:46:23
438
原创 悬挂的绳子,它的函数方程是什么样子的?
本文通过受力分析和微积分推导,得出了悬挂绳子形成的"悬链线"函数方程。首先建立坐标系,假设绳子密度均匀、柔软且不可伸缩,在受力平衡条件下推导出微分方程 ( a \sqrt{1 + f'^2(x)} = f''(x) )。通过变量替换和积分求解,最终得到悬链线方程为双曲余弦函数形式:( f(x) = \frac{1}{2a}(e^{ax} + e^{-ax}) ),其中a为与绳子密度、重力等相关的常数。这一优美方程展现了自然下垂的绳子所蕴含的数学规律。
2025-08-03 23:17:04
1487
原创 GAMES101 lec2-数学基础1(线性代数)
本文摘要了线性代数的基础知识及其在图形学中的应用。主要内容包括向量的定义、模长、单位向量、坐标系表示及运算(点乘与叉乘),重点讲解了向量点乘的投影应用和叉乘的方向判定特性。矩阵部分介绍了矩阵乘法、转置、逆矩阵等概念,强调矩阵变换在图形学中的重要性。特别展示了叉乘用于判断点是否在三角形内部的算法原理,体现了线性代数在计算机图形学中的实际应用价值。
2025-07-15 21:11:38
1067
原创 GAMES101 lec1-计算机图形学概述
《计算机图形学概述》课程介绍了图形学的基本概念、应用领域和课程内容。课程涵盖光栅化、曲线曲面建模、光线追踪和动画模拟等核心主题,重点讲解图形学原理而非具体API工具。图形学在游戏、电影特效、动画制作、可视化设计等领域有广泛应用,涉及物理光学、数学建模等关键技术挑战。课程强调图形学作为连接虚拟与现实世界的桥梁,其技术发展不断推动着视觉呈现方式的革新。学习资源包括课程网站和《计算机图形学基础》教材,旨在培养学生对图形学核心原理的理解能力。
2025-07-15 21:03:20
472
原创 lec11-并发控制
本文摘要: 数据库并发控制是保证事务ACID特性的关键机制。文章介绍了三种事务执行方式(串行、交叉并发、同时并发),分析了并发操作可能导致的三种不一致性问题(丢失修改、不可重复读、读脏数据)。重点阐述了封锁技术,包括S锁和X锁的区别,以及三级封锁协议如何解决不同级别的不一致性问题。同时讨论了活锁和死锁的处理方法,介绍了事务调度的可串行性概念和两段锁协议。最后讲解了封锁粒度的选择和意向锁机制,通过相容矩阵说明了不同锁类型的兼容关系。这些并发控制技术共同保障了数据库系统在多事务环境下的数据一致性和系统性能。
2025-05-25 18:04:28
1007
原创 lec6-需求基础
本文主要介绍了需求工程的基础知识,包括需求工程的过程模型、需求获取、需求分析、需求规格说明、需求验证和需求管理。需求工程分为需求开发和需求管理两个主要部分,需求开发包括需求获取、分析、规格说明和验证,而需求管理则确保需求的持续有效性和变更控制。文章还详细讨论了需求的层次(业务需求、用户需求、系统需求)和分类(功能需求、性能需求、质量需求、对外接口、约束),并强调了需求在软件开发中的核心作用。通过建模、文档化和验证,需求工程确保系统能够满足用户和业务的实际需求。
2025-05-22 09:29:55
927
原创 离线服务器Python环境配置指南
在离线服务器上配置Python环境时,面临的主要挑战包括无法访问国际网络、内网隔离和安全策略限制。针对这些困境,本文提供了三种主要解决方案:Wheel离线安装、Conda Pack打包和Docker镜像。Wheel适用于小型项目,Conda Pack适合中型项目,而Docker则适用于复杂项目。文章详细介绍了Conda和Pip的使用技巧,包括虚拟环境的创建与管理、依赖冲突的预防、环境可复现性以及权限规避。此外,还提供了Conda Pack环境迁移和Docker容器化部署的实战步骤,帮助用户在不同场景下选择最
2025-05-21 15:35:52
1742
原创 Lecture1 绪论
机器学习:lec1绪论PAC定理,NFL定理,以及一些题外话科学:研究是什么、为什么的问题;技术:研究怎么做的问题;工程:怎么可以做的多快好省;应用:实际的使用;举例来说,科学可以发现“陶瓷可以做刀”,技术就是研究“怎样在实验室做刀”,工程是研究“工业化如何做刀”,应用就是”用到砍树“本课程学习的内容主要是在学习1,2层级的内容,值得注意的是,下层次的产物比上层次更容易过时。
2025-03-12 22:34:16
840
原创 机器学习中的线性代数:奇异值分解 SVD
大的部分放的更靠前,那么我们就在一定程度上认为,前面的部分所占的权重更大,可能只取前面 200 项的时候,就基本能够近似表示原本的图片,这也就是所谓“相当于进行了一次线性变换,但是这样并不简洁,从直观的角度上来说,既发生了旋转,也发生了拉伸,比如说。,这里显然发生了“拉伸”,也发生了“旋转”,毕竟单一维度的向量已经到达了更高维度的情况。比如说,一张 512 * 512 的图片,我们正常来说需要记录它的全部像素点,但是。我们先进行某种角度的旋转,待到伸缩变换之后,我们再进行反角度的旋转;
2025-03-06 09:16:23
1416
2
原创 优化器Reaction1:从动力学角度看优化算法(1.1):从GD 到 SGD
从动力学角度看优化算法:微分方程,随机微分方程 视角 思考梯度下降 和 随机梯度下降,从数学原理窥探炼丹技巧
2025-02-28 19:27:14
846
原创 exam2-考点汇总(笔试复习)
计算机是指,通用 电子 数字 计算机,通用:不是一种专用设计,所有计算机在时间足够长,容量足够大的情况下,可以完成相同的计算。电子(非机械):采用电子元器件数字(非模拟):信息采用数字化的形式表示。
2025-02-07 13:35:15
1279
原创 lec4-数据校验码
(这也是一种权衡,通过增加数据的存储数量,提升数据的可恢复性,这仍然没有打破二进制k位2^k的定律)关键是,这些分组具有足够的特殊性,保证能涵盖所有一个位数出错的情况。纠错:想法是,存储额外的信息进行检错和校正;电源问题,alpha粒子等原因。硬件方案,计算机硬件可靠性。,自动发现并纠正错误。
2025-01-07 21:53:22
1222
原创 lec1-计算机概述
计算机是指,通用 电子 数字 计算机,通用:不是一种专用设计,所有计算机在时间足够长,容量足够大的情况下,可以完成相同的计算。电子(非机械):采用电子元器件数字(非模拟):信息采用数字化的形式表示。
2025-01-07 21:50:24
767
原创 Datawhale 冬令营活动:尝试构建AI Agent
从零开始的 Prompt Engineer 生活!感受Prompt的魅力,是AI太笨,还是我们太不会问?对李继刚老师拙劣地模仿,从结构化要求到编程化要求,实现质的飞跃!
2025-01-02 20:46:41
455
原创 lec8 - 路由协议RIP与OSPF
详细介绍了RIPv1, v2 OSPF的内容OSPF是一种链路状态路由协议,open shortest path first网络工程任务组(IETF, Internet Engineering Task Force)的多个标准对此进行了描述OSPF正在成为首选的IGP,内部网关协议,因为具有很好的可扩展性 scalable。
2025-01-01 21:48:24
1110
原创 一道有意思的与树相关的算法题:已知一棵非空树的先根序列和每个结点的子孙节点的个数,求出T中每个节点的度
题目要求:已知一棵非空树 T 的先根序列(前序遍历)和每个结点的子孙节点的个数,写出算法求出T中每个节点的度。首先这里不是一棵二叉树,所以处理起来会有些困难。建议先自己画树,尝试一些思路,再看代码。
2024-12-24 23:06:03
315
原创 lec4.1-Specific Trees(AVL Tree; B Tree)
二叉搜索树->AVL树;m阶搜索树->B 树;AVL树是一棵二叉搜索树每一个节点都满足: 左右子树高度差不超过1可以维护树高或者是 balance 来看可以证明,树高与节点数成对数关系。B树的插入与删除,上溢出与下溢出处理
2024-12-23 17:28:58
1311
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅