- 博客(282)
- 收藏
- 关注
原创 【LeetCode刷题】二叉树的层序遍历
本文介绍了二叉树的层序遍历(BFS)实现方法。通过队列按层处理节点,首先将根节点入队,然后逐层遍历:取出当前层节点并记录值,将其子节点入队用于下一层处理。时间复杂度为O(n),空间复杂度为O(n)。提供了Python实现代码,包含TreeNode类定义、层序遍历函数和测试用例,验证了示例输入的正确输出。该方法适用于LeetCode相关题目,能有效实现二叉树的逐层遍历。
2026-02-07 22:21:33
289
原创 【LeetCode刷题】二叉树的直径
本文介绍如何计算二叉树的直径,即树中任意两节点间最长路径的边数。通过递归计算每个节点的左右子树深度之和,维护全局最大值作为最终直径。算法时间复杂度O(n),空间复杂度O(h)。Python实现包括节点定义、递归深度计算和测试用例验证。
2026-02-07 22:05:45
546
原创 【LeetCode刷题】对称二叉树
本文探讨如何判断二叉树是否轴对称。核心思路是递归比较左右子树是否镜像对称:对应节点值必须相等,且左节点的左子树与右节点的右子树、左节点的右子树与右节点的左子树均需对称。Python实现通过辅助函数_is_mirror递归验证这些条件,并处理边界情况(如空树或单节点树)。测试用例验证了对称树(如[1,2,2,3,4,4,3])和非对称树(如[1,2,2,None,3,None,3])的正确性,最终提交代码符合LeetCode要求。
2026-02-04 23:31:09
462
原创 【Web开发】基于Flask搭建简单的应用网站
本文介绍了使用Flask框架创建简单Web应用的基本步骤:1)创建项目文件和app.py;2)编写包含路由和视图函数的代码;3)运行应用并访问;4)开发调试技巧。重点讲解了Flask核心概念:应用实例、路由装饰器、视图函数和调试模式,并提供了常见问题的解决方法。Flask以轻量级著称,仅需几行代码即可实现Web服务,适合快速开发小型应用。
2026-02-04 23:01:45
779
1
原创 【LeetCode刷题】翻转二叉树
本文介绍如何翻转二叉树,即交换树中每个节点的左右子节点。采用递归策略:处理空节点直接返回;非空节点交换左右子节点后递归处理子树。示例验证显示输入[4,2,7,1,3,6,9]翻转后为[4,7,2,9,6,3,1]。算法时间复杂度O(n),空间复杂度O(h)。提供Python实现代码,包括树构建和打印方法,以及LeetCode提交格式。核心思想是通过递归交换左右子树实现整棵树的翻转。
2026-02-03 23:47:02
330
原创 【Python高级编程】近似串匹配
本文介绍了如何计算两个字符串的最小编辑距离,使其通过最少操作(删除或修改字符)变为相同字符串。解题采用动态规划方法,通过二维DP状态转移方程(字符相同继承前状态,不同取三种操作最小值+1)实现,并优化为一维滚动数组以节省空间。最终时间复杂度O(mn),空间复杂度O(min(m,n)),适用于大字符串处理。Python代码演示了该算法的具体实现。
2026-02-03 23:03:05
999
原创 【机器学习】标准化流模型(NF)
标准化流是基于可逆概率密度变换的显式概率生成模型,核心思想是通过简单基分布和一系列可逆变换,实现对复杂目标分布的精确密度估计和可控采样。其核心优势是概率密度的精确性、训练的稳定性和生成的可控性,核心约束是流层的设计需兼顾可逆性、雅可比计算效率和表达能力。与GAN、VAE、扩散模型相比,标准化流的核心价值在于精确的密度估计,这是其他生成模型无法替代的,因此在对密度精度有要求的场景(如异常检测、概率预测)中具有不可替代的地位。
2026-02-02 23:09:14
1405
原创 【操作系统】存储器管理算法
本文系统讲解了操作系统存储器管理算法,涵盖四大类算法:连续内存分配算法(首次适应、循环首次适应、最佳适应、最坏适应)、非连续内存分配算法(分页、分段、段页式)、虚拟存储页面置换算法(OPT、FIFO、LRU、CLOCK、LFU)以及内存碎片整理与回收算法(紧凑、伙伴系统、Slab)。通过Python代码实现各类算法核心逻辑,并分析其优缺点及适用场景。现代操作系统普遍采用"段页式+改进型CLOCK+伙伴系统+Slab"的组合方案,在内存利用率、性能开销和实现难度之间取得平衡。
2026-02-02 19:42:41
1115
原创 【LeetCode刷题】二叉树的最大深度
本文介绍了计算二叉树最大深度的递归解法。最大深度定义为从根节点到最远叶子节点的最长路径上的节点数。采用分治思想,将问题分解为计算左右子树的最大深度,取较大值加1(当前节点)作为结果。Python实现使用深度优先搜索(DFS)递归方法,当节点为空时返回0,否则递归计算左右子树深度并返回较大值+1。示例验证了代码的正确性,如[3,9,20,null,null,15,7]输出3,[1,null,2]输出2。该方法简洁高效,时间复杂度O(n)。
2026-01-30 01:25:13
98
原创 【数据挖掘】FP-growth算法
FP-growth是一种高效的频繁项集挖掘算法,相比Apriori算法具有显著优势。它通过构建FP树压缩存储频繁项关联信息,仅需扫描数据库两次,无需生成候选项集。算法分为两个阶段:首先构建FP树和项头表,然后自底向上递归挖掘频繁项集。FP-growth在购物篮分析等场景中应用广泛,能有效挖掘商品关联模式。虽然存在内存依赖等缺点,但其高效性和完整性使其成为关联规则挖掘的核心算法之一。本文详细介绍了算法原理、实现步骤和Python代码,为实际应用提供了完整参考。
2026-01-30 01:12:28
1173
原创 【LeetCode刷题】二叉树的中序遍历
本文介绍了二叉树中序遍历的递归实现方法。中序遍历按照"左子树→根节点→右子树"的顺序访问节点。通过Python代码演示了递归解法,定义了一个辅助函数traverse来实现这一逻辑:先递归遍历左子树,然后访问当前节点值,最后递归遍历右子树。提供了三个测试用例验证正确性:包含单节点树、空树和典型二叉树的情况。时间复杂度为O(n),空间复杂度为O(n)(递归栈空间)。该方法直观体现了中序遍历的定义,是解决此类问题的经典递归范式。
2026-01-29 23:23:42
88
原创 【强化学习】REINFORCE 算法
本文详细介绍了REINFORCE算法的原理与实现。REINFORCE是一种基于策略梯度的无模型强化学习算法,直接优化策略参数,适用于离散动作空间。文章从算法定位、数学推导、代码实现三个层面展开:首先阐述了其无模型、同策略、蒙特卡洛更新的核心特性;然后推导了策略梯度的数学公式及其工程化实现;最后通过完整的Python代码展示了在CartPole-v1环境中的应用,包括策略网络设计、轨迹采集、蒙特卡洛更新等关键模块。
2026-01-29 23:10:12
987
原创 【LeetCode刷题】LRU缓存
本文介绍了LRU缓存机制的实现方法。通过使用Python的OrderedDict数据结构,既保证了O(1)时间复杂度的查找操作,又维护了元素的访问顺序。当缓存容量超出时,自动淘汰最久未使用的元素。该实现满足题目要求的get和put操作均为O(1)时间复杂度,并通过测试用例验证了正确性。关键点在于利用OrderedDict的move_to_end和popitem方法高效处理最近访问标记和元素淘汰。
2026-01-28 20:15:54
1115
原创 【数据挖掘】Apriori算法
Apriori算法是关联规则挖掘的经典算法,由Agrawal和Srikant于1994年提出。该算法通过逐层搜索和先验性质剪枝策略,从大规模数据集中发现频繁项集和关联规则。核心概念包括支持度、置信度和提升度等指标,算法流程分为频繁项集挖掘和规则生成两个阶段。虽然Apriori算法原理简单、结果可靠,但也存在计算效率低、内存消耗大等缺点。其改进算法包括FP-Growth和Eclat等。该算法广泛应用于零售、电商、医疗等领域,如经典的"啤酒与尿布"购物篮分析。
2026-01-28 19:57:03
1179
原创 【机器学习】电商销售额预测实战
本文基于电商交易数据,通过矩阵分解方法实现客户-产品销售额预测。研究采用截断SVD和带偏置FunkSVD两种模型,构建了完整的数据分析流程:从数据清洗、特征可视化到模型训练评估。实验结果显示,FunkSVD(RMSE=256.52)相比截断SVD(RMSE=439.94)预测精度显著提升183.42。通过多维度可视化分析,验证了FunkSVD在误差分布和类别预测上的优势,为电商销售预测提供了有效的解决方案。
2026-01-27 02:19:13
1219
原创 奇异值分解
奇异值分解(SVD)是线性代数中的重要矩阵分解方法,可将任意矩阵分解为三个特殊矩阵的乘积(U、Σ、V),揭示矩阵的秩、特征结构和子空间信息。其核心原理包括对称矩阵特征分解、奇异值与特征值关系及子空间映射特性。SVD具有最佳低秩近似等关键性质,广泛应用于数据降维、图像压缩、推荐系统等领域。计算算法包括GRSVD、JacobiSVD等,可根据需求选择。通过Python的numpy库可便捷实现SVD分解与重构。SVD为处理高维数据提供了有效的数学工具。
2026-01-27 01:33:36
651
原创 【LeetCode刷题】合并 K 个升序链表
本文介绍了一种高效合并多个升序链表的分治算法。算法通过递归将链表数组不断拆分为更小的子问题(两两合并),最终将所有链表合并为一个有序链表。关键步骤包括:边界条件处理、递归分治拆分链表区间、合并两个有序链表的子问题。该算法时间复杂度为O(Nlogk),空间复杂度为O(logk),其中k为链表数量,N为总节点数。Python实现中使用了虚拟头节点简化合并操作,并通过过滤空链表优化性能。测试用例验证了算法在常规、空链表及单链表等情况下的正确性。
2026-01-26 20:45:38
1014
原创 【操作系统】进程的算法
本文系统介绍了操作系统中的三大核心算法:进程调度算法、进程同步与互斥算法以及死锁处理算法。通过Python代码实现了先来先服务(FCFS)、短作业优先(SJF)、优先级调度、时间片轮转(RR)和多级反馈队列等进程调度算法;详细讲解了信号量、管程等同步机制,并实现了生产者-消费者、读者-写者和哲学家进餐等经典问题;针对死锁问题,阐述了预防、避免、检测与解除四种处理策略。文章还提供了各类算法的对比选型建议,为操作系统资源管理提供了全面的技术参考。所有算法均配有可执行的Python实现和运行结果展示。
2026-01-26 19:44:43
1479
1
原创 【LeetCode刷题】排序链表
本文实现了一个链表排序算法,采用自顶向下的归并排序方法。算法分为三个步骤:1)使用快慢指针找到链表中点并拆分链表;2)递归排序左右子链表;3)合并两个有序子链表。该方法时间复杂度为O(nlogn),空间复杂度为O(logn)。文中提供了完整的Python实现,包括链表创建、打印等辅助函数,并通过多个测试用例验证了算法的正确性,包括基础用例、含负数和零的用例、空链表和单节点链表等特殊情况。
2026-01-25 22:40:19
310
原创 【LeetCode刷题】随机链表的复制
本文介绍了如何深拷贝带有随机指针的链表。通过两次遍历链表:第一次建立原节点到新节点的映射,第二次填充新节点的next和random指针。使用哈希表存储节点对应关系,确保新链表的指针指向正确的新节点而非原节点。Python实现包括节点类定义、深拷贝方法及测试用例,验证了复制链表与原链表结构一致但内存独立。该方法时间复杂度O(n),空间复杂度O(n)。
2026-01-25 22:28:23
486
原创 【LeetCode刷题】K 个一组翻转链表
题目要求将链表每k个节点一组进行翻转,不足k个的保持原序。使用哨兵节点简化处理,通过分组定位、子链表翻转和组间连接实现。时间复杂度O(n),空间复杂度O(1)。Python代码通过迭代翻转每组链表,并处理边界条件,测试案例验证了正确性。例如,输入[1,2,3,4,5]和k=2时输出[2,1,4,3,5]。该方法高效且符合原地操作要求。
2026-01-24 22:50:25
430
原创 大数据技术:从技术革命到产业重构的核心引擎
大数据技术正重塑社会发展模式,其核心特征为"5V"(海量、高速、多样、真实、低价值密度)。完整技术架构涵盖采集、存储、处理到可视化全链路,通过分布式存储和实时计算实现数据价值挖掘。在金融风控、医疗诊断、智慧交通和零售营销等领域深度应用,显著提升行业效率。未来呈现AI融合、边缘计算、隐私保护等六大趋势,但需平衡技术创新与伦理约束。大数据已从工具演变为基础设施,其发展将深刻影响人类文明进程,需要在效率与规范间寻求平衡。
2026-01-24 22:22:25
705
1
原创 【LeetCode刷题】两两交换链表中的节点
本文介绍了如何通过迭代方法实现链表相邻节点的两两交换。通过创建虚拟头节点(dummy)统一处理头节点交换,使用prev指针跟踪交换组前驱节点,每次循环交换prev.next和prev.next.next两个节点。算法时间复杂度O(n),空间复杂度O(1)。代码实现包含链表创建、打印等辅助函数,并测试了偶数节点、奇数节点、空链表和单节点等典型情况,验证了算法的正确性。关键步骤包括保存节点引用、调整指针顺序完成交换,以及移动prev指针准备下一轮交换。
2026-01-23 21:12:41
403
原创 深度卷积生成对抗网络(DCGAN)
DCGAN是一种改进的生成对抗网络,通过卷积层替代全连接层,显著提升了图像生成质量和训练稳定性。其核心架构包括生成器(使用转置卷积上采样)和判别器(使用步幅卷积下采样),并引入批量归一化和特定激活函数优化训练过程。实验表明,DCGAN能有效生成清晰的手写数字图像,解决了传统GAN的模式崩溃和梯度消失问题。虽然在高分辨率图像生成和语义控制方面存在局限,但其简洁通用的架构为后续生成模型奠定了基础,在图像修复、数据增强等领域具有重要应用价值。
2026-01-23 19:37:16
1403
原创 【LeetCode刷题】删除链表的倒数第N个结点
本文介绍了一种高效删除链表倒数第N个节点的双指针解法。通过创建虚拟头节点处理边界情况,使用快慢指针实现一次遍历:快指针先走N步,然后两指针同步移动直至链表末尾,此时慢指针的下一个节点即为待删除节点。该方法时间复杂度O(L)(L为链表长度),优于两次遍历的解法,且能完美处理删除头节点等特殊情况。文中提供了Python实现代码,包含链表转换、测试用例及运行结果验证,确保算法正确性和鲁棒性。该解法已通过LeetCode测试,适用于所有合法输入情况。
2026-01-22 23:20:45
433
原创 【强化学习】DQN 改进算法
在传统的 DQN 基础上,有两种非常容易实现的变式——Double DQN 和 Dueling DQN,Double DQN 解决了 DQN 中对Q值的过高估计,而 Dueling DQN 能够很好地学习到不同动作的差异性,在动作空间较大的环境下非常有效。从 Double DQN 和 Dueling DQN 的方法原理中,我们也能感受到深度强化学习的研究是在关注深度学习和强化学习有效结合:一是在深度学习的模块的基础上,强化学习方法如何更加有效地工作,并避免深度模型学习行为带来的一些问题。
2026-01-22 23:08:50
1090
1
原创 【LeetCode刷题】两数相加
题目要求将两个逆序存储数字的链表相加,返回相同格式的结果链表。解法采用哑节点简化操作,通过双指针遍历链表,逐位相加并处理进位。时间复杂度O(max(m,n)),空间复杂度O(max(m,n))。测试用例验证了不同长度链表及进位情况的正确性。Python实现包含链表转换辅助函数,确保输入输出格式符合要求。核心算法在LeetCode提交代码中精简呈现,适用于标准链表结构。
2026-01-21 23:56:02
806
原创 【Python高级编程】单词统计与查找分析工具
本文介绍了一款单词统计与查找分析工具的设计与实现。该工具支持三种查找策略(顺序查找、快速排序+二分查找、哈希表查找),可计算文本中的单词总数、唯一单词数和平均查找长度(ASL)。工具采用Python开发,包含核心算法层和GUI交互层,具有文本标准化处理、实时状态提示和多策略对比功能。扩展版新增了文件导入、单词长度统计、频次排行榜和ASL可视化等功能,支持自定义哈希表大小。文章详细阐述了工具的技术选型、架构设计、核心算法实现和测试优化过程,并提供了完整的Python代码实现和打包方法。
2026-01-21 23:39:00
1528
原创 【Python高级编程】学习通签到统计工具
本文介绍了一款基于Python开发的学习通签到数据统计工具,该工具通过GUI界面实现高效自动化处理,主要解决手动统计Excel/CSV签到表格效率低、易出错的问题。工具核心功能包括:支持单文件/多文件/文件夹导入;自动识别动态表头;多维度统计签到状态(已签、教师代签、迟到、未参与);生成带统计列的单个文件和汇总表。采用tkinter+ttk构建界面,pandas处理数据,具有异常处理、日志记录和进度反馈机制。
2026-01-20 23:48:38
1381
1
原创 【数据结构】英文单词词频统计与检索系统
本文实现了一个英文单词词频统计与检索系统,支持三种数据结构策略:线性表顺序查找、线性表快速排序后二分查找、哈希表链地址法。系统读取输入文本直到遇到#结束,对单词进行标准化处理(转为小写、提取连续字母),统计总词数和不同词数,并计算各策略的平均查找长度(ASL)。关键实现包括手写快速排序、二分查找和哈希表冲突处理,最终输出统计结果并确保内存安全释放。该系统有效对比了不同数据结构的查找效率差异。
2026-01-20 23:15:46
1126
原创 AIGC:重塑内容生产,开启智能创作新纪元
AIGC(人工智能生成内容)正重塑内容生产范式,实现从文本到多模态内容的智能创作。其发展历经70年技术沉淀,在深度学习和大模型时代迎来爆发。核心技术包括数据层、模型层、服务层和应用层四层架构,已渗透创意产业、消费服务和实体经济三大领域。尽管面临技术瓶颈、伦理争议等挑战,AIGC未来将向多模态融合、行业定制化方向发展,构建"人机协同"新生态。这场智能革命正在打破创作边界,让技术成为人类创意的赋能工具。
2026-01-19 21:33:18
580
原创 具身智能:从理论到现实,人工智能的下一场革命
具身智能作为人工智能新形态,通过实体载体与物理世界的深度交互,正从学术概念发展为产业热点。其核心在于"感知-计算-执行"闭环系统,依托大模型与机器人技术的融合实现自主决策。当前应用已覆盖工业、物流、服务等领域,市场规模快速增长。尽管面临硬件成本、算法效率和生态协同等挑战,但随着多模态融合、通用化发展和开源标准化趋势,具身智能将重构人机关系,成为推动社会进步的重要力量。政策支持与技术突破正加速其从特种场景向全民普及迈进。
2026-01-19 21:24:40
707
原创 【LeetCode刷题】合并两个有序链表
合并两个升序链表为一个新的升序链表。通过创建虚拟头节点简化边界处理,使用双指针遍历两个链表,每次选择较小值的节点拼接。当一个链表遍历完后,直接将剩余部分接在新链表末尾。时间复杂度O(n+m),空间复杂度O(1)。示例:输入[1,2,4]和[1,3,4],输出[1,1,2,3,4,4]。适用于链表节点数0~50,值范围-100~100的情况。
2026-01-17 02:17:35
435
原创 【Python高级编程】辅助教师教学工具:学习通签到统计工具
本文介绍了一款针对高校教师统计学习通签到数据的工具开发过程。该工具解决了手动处理多文件、表头位置不固定、统计效率低等痛点,主要功能包括:1)智能识别表头;2)单文件签到统计;3)多文件汇总;4)可视化界面操作。采用Python的tkinter构建GUI,结合pandas处理数据,具有轻量化、易部署的特点。通过异常处理和日志记录确保稳定性,最终打包为60-90MB的独立应用。项目已开源在GitHub,帮助教师高效完成签到统计工作。
2026-01-17 01:48:12
1071
1
原创 将本地代码推送到 GitHub 的方法
本文详细介绍了使用Git和GitHub进行代码版本控制的完整流程:首先安装Git并创建GitHub仓库;其次通过初始化本地仓库、配置用户信息、提交代码并关联远程仓库实现首次推送;随后说明了后续代码更新的简化推送步骤;最后针对分支不匹配、推送拒绝和权限验证等常见问题提供了解决方案。整个教程涵盖了从环境搭建到日常使用的全过程,帮助开发者快速掌握Git与GitHub的基本操作。
2026-01-16 03:09:22
672
原创 【Python高级编程】辅助教师教学工具:PTA 成绩统计小程序
本文介绍了一款面向高校教师开发的PTA成绩统计工具,旨在解决PTA成绩单处理中的实际痛点。该工具采用Python开发,基于tkinter构建GUI界面,通过pandas处理数据,实现了批量成绩单的自动统计与汇总。核心创新包括采用得分率统计机制、多编码自动识别、异常数据处理等功能,并针对非技术用户进行了操作流程优化和错误提示改进。工具经过多场景测试后,使用PyInstaller打包为轻量级exe文件,便于教师直接使用。项目已开源在GitHub,为教学管理提供了高效便捷的解决方案。
2026-01-16 02:55:40
877
原创 【机器学习】人工神经网络(ANN)
本文系统介绍了人工神经网络(ANN)的核心原理与实现。ANN通过模拟生物神经元的"加权求和+激活函数"机制实现非线性映射,具有强大的特征学习能力。文章详细解析了网络结构(输入层、隐藏层、输出层)、关键组件(权重、偏置、激活函数)以及训练机制(前向传播/反向传播)。同时提供了基于PyTorch的完整实现代码,包括数据生成、网络构建、训练和评估过程。实验结果显示,该模型在合成数据集上达到98%的准确率。
2026-01-09 19:51:49
1816
4
原创 【机器学习】自组织映射神经网络
本文详细介绍了自组织映射(SOM)神经网络的原理与Python实现。SOM是一种无监督学习算法,通过竞争学习机制将高维数据映射到低维空间,保持拓扑结构。文章包含手动实现和MiniSom库实现两种方式,并应用于鸢尾花数据集进行可视化分析。实验结果显示,手动实现版在量化误差(0.3055 vs 1.0757)和训练时间(0.034s vs 0.051s)上表现更优,但两种实现方式在类别纯度(1.7025 vs 1.7024)上相当。
2026-01-05 21:15:00
1651
2
原创 国内和国外主流免费算力平台
本文对比了国内外主流免费算力平台,涵盖百度飞桨、阿里天池、Google Colab等。国内平台网络友好、中文生态完善,适合深度学习入门;国外平台资源丰富、多框架兼容。各平台提供免配置GPU环境,支持直接运行代码,并详细说明了资源限制、适用场景及快速上手指南。文末提供通用PyTorch示例代码和平台选择建议,帮助开发者高效利用免费资源进行AI开发与实验。
2026-01-04 19:53:23
1599
原创 【DeepSeek系列】论文《mHC: Manifold-Constrained Hyper-Connections》全流程复现详解(附Python代码)
本文详细介绍了《mHC: Manifold-Constrained Hyper-Connections》论文的完整复现过程,包括模型架构、训练逻辑和实验可视化图表的实现。通过理论推导与工程实现的结合,完整再现了论文的核心创新点和实验结果,为研究者提供了可直接运行的参考实现。所有代码和可视化结果均可通过魔搭社区免费算力资源验证。
2026-01-04 19:19:28
2346
单词统计与查找分析工具(增强版)
2026-01-21
单词统计与查找分析工具
2026-01-21
针对高校教师统计学习通签到数据的通用工具
2026-01-20
英文单词词频统计与检索系统
2026-01-20
针对高校教师统计学习通签到数据的工具
2026-01-17
面向高校教师开发的PTA成绩统计工具
2026-01-16
登山赛车游戏基于 Pygame 开发,是一个包含物理模拟、关卡系统、养成系统、交互 UI的完整休闲游戏
2025-12-28
红黑树的可视化工具-红黑树的动画展示
2025-10-01
### 机器学习基于SVM的分类预测实验报告:芝加哥出租车出行支付方式预测与分析
2025-06-12
编译原理基于属性文法的C++编译器设计:词法、语法及语义分析与中间代码生成
2025-06-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅