- 博客(40)
- 收藏
- 关注
原创 超详细Transformer模型图解介绍(结构、pytorch完整从零详细实现)
本文详细介绍了transformer结构图解介绍,以及提供了详细pytorch从0实现代码,提供给AI初学者详细学习
2025-10-22 16:52:31
968
原创 数据结构——布隆过滤器(介绍、工作原理、详细Java实现)
布隆过滤器是一种高效的概率型数据结构,通过位数组和多个哈希函数实现快速元素查询。其核心优势在于空间效率高(O(1)查询时间)且不会漏报元素,但存在误判可能(误报存在)。性能取决于位数组大小、哈希函数数量和预期元素量,可通过公式计算最优参数。Java实现展示了基本操作:添加元素时置位哈希位置,查询时检查所有对应位。适用于允许假阳性但对空间敏感的场景,如缓存系统、垃圾邮件过滤等。需权衡误判率与内存开销来优化设计。
2025-10-20 14:13:35
492
原创 数据结构——图(介绍、遍历、java实现)
本文介绍了图(Graph)数据结构及其实现方式。图由顶点和边组成,可分为有向图、无向图、带权图和无权图。主要讲解了两种图的表示方法:邻接矩阵(适合稠密图,空间复杂度高)和邻接表(适合稀疏图,空间效率高)。文章提供了Java实现的代码示例,包括邻接矩阵和邻接表的构建方法,以及图的两种遍历算法:广度优先遍历(BFS)和深度优先遍历(DFS)的实现代码。这些内容为图的存储和基本操作提供了实用参考。
2025-10-20 13:21:47
418
1
原创 并查集(介绍、思想、Java实现、路径压缩)
并查集是一种树型数据结构,用于处理不相交集合的合并和查询操作。其核心思想是用树的根节点代表集合,通过路径压缩和按秩合并优化性能。Java实现包括父节点数组和秩数组,提供find(路径压缩)和union(按秩合并)方法。应用场景涵盖图连通性问题、社交网络关系、最小生成树算法等。
2025-10-19 18:53:08
303
原创 MiMo-Audio技术报告
MiMo-Audio技术报告摘要:该研究提出了一种基于无损压缩语音预训练的大规模音频语言模型MiMo-Audio,其核心创新包括:1)采用新型音频分词器架构,通过残差向量量化保留完整语音信息;2)将预训练数据扩展到1亿小时量级,验证了规模扩展带来的任务泛化能力;3)提出两阶段训练策略,结合多任务学习和对抗训练优化模型性能。实验表明,该模型在语音重建质量和多任务泛化能力上显著优于现有基线,特别是在少样本学习场景下展现出强大潜力。研究还首创性地将思维链技术整合到语音建模中,为弥合语音感知与复杂认知任务间的鸿沟提
2025-10-19 16:08:51
1433
原创 红黑树详细介绍(五大规则、保持平衡操作、Java实现)
红黑树是一种自平衡二叉查找树,通过颜色标记和旋转操作维持平衡。它遵循五大核心规则:节点非红即黑、根节点为黑、叶子节点为黑、红色节点不连续、任意路径黑节点数相同。插入时通过变色和旋转(左旋/右旋)调整平衡,确保操作时间复杂度为O(logn)。相比AVL树,红黑树平衡要求更宽松,适合频繁增删场景,广泛应用于关联数组等数据结构。Java实现中,新节点默认红色,通过哨兵节点处理边界条件,主要操作包括左右旋转和颜色调整来维护树的平衡性。
2025-10-18 15:33:50
971
原创 AVL树(平衡二叉树)详细介绍与Java实现
AVL树是一种自平衡二叉搜索树,通过旋转操作保持每个节点的左右子树高度差不超过1。文章介绍了AVL树的基本定义、性质及Java实现,包括节点类设计、平衡因子计算、左右旋操作和四种插入情况处理(LL/RR/LR/RL)。核心代码展示了如何通过递归插入节点并自动调整树结构来维持平衡性,确保操作时间复杂度为O(log n)。该实现完整涵盖了插入、删除、查找等基本功能,并包含高度更新和平衡检查机制。
2025-10-18 15:31:34
1025
原创 数据结构——二叉搜索树Binary Search Tree(介绍、Java实现增删查改、中序遍历等)
本文介绍了二叉搜索树(BST)的基本概念和Java实现。二叉搜索树是一种有序二叉树,满足左子树节点值小于当前节点、右子树节点值大于当前节点的特性。文章提供了TreeNode类定义节点结构,并通过BinarySearchTree类实现了查找(递归/迭代)、插入和删除(处理叶子节点、单子节点和双子节点三种情况)等核心操作。代码示例展示了如何维护BST的有序性,项目源码已托管在GitCode上。
2025-10-15 20:32:00
720
原创 数据结构——字典树Trie(介绍、Java实现)
字典树是一种高效处理字符串的前缀树数据结构,具有前缀共享、快速检索和前缀匹配等特性。其Java实现包含TrieNode节点类和Trie字典树类,支持插入、搜索单词、前缀匹配等功能。测试案例验证了字典树正确实现了单词存储、精确查找和前缀匹配等核心功能,如搜索"blue"返回true,前缀"app"匹配到"apple"和"application"等。该结构适用于需要快速字符串检索的场景。
2025-10-15 20:12:13
446
原创 数据结构——哈希(自定义hashMap实现、解决哈希冲突、拉链寻址Java实现)
哈希是一种高效的数据结构,通过哈希函数将键映射到存储位置实现快速访问。其核心包括键值对存储、哈希函数和数组存储,理想哈希函数应具备确定性、高效性和均匀分布等特点。哈希冲突是常见问题,解决方法包括拉链寻址(使用链表存储冲突元素)等。Java中的哈希实现有HashMap、HashSet和线程安全的ConcurrentHashMap。哈希结构在数据存储和检索中具有广泛应用价值,能有效提升程序性能。
2025-10-14 15:07:38
1096
原创 堆排序——建堆、排序、Java实现
堆排序是一种高效的排序算法,主要分为建堆和排序两个步骤。建堆过程对所有非叶节点进行自顶向下堆化,从索引n/2开始到1依次处理。排序阶段通过重复取出堆顶元素(最大值)并交换至数组末尾,然后对剩余元素重新堆化。Java代码实现中,heapSort方法先构建最大堆,再通过循环交换堆顶元素并调整堆,最终完成排序。堆化函数heapify通过比较根节点与左右子节点来维护堆的性质,并使用递归继续调整受影响的子树。
2025-10-14 13:54:49
279
原创 DDD架构——仓储和适配器、Java代码示例
DDD通过仓储和适配器实现领域层与基础设施的解耦。仓储作为抽象层,以集合式接口访问聚合根,接口定义在领域层,实现在基础设施层,支持依赖注入和规范模式。适配器则将外部系统(如邮件服务、支付网关)转换为内部抽象接口,遵循六边形架构思想。两者共同确保领域逻辑专注于业务规则,不依赖具体技术实现。核心代码结构表现为:领域层定义接口,基础设施层提供多种实现(如JPA仓储、内存仓储、第三方服务适配器),通过依赖注入灵活组装。
2025-10-14 12:29:04
582
原创 DDD架构——实体、聚合、值对象
本文介绍了DDD中的三种核心领域对象:实体、值对象和聚合。实体是具有唯一标识、生命周期和状态行为的对象,通过ID判断相等性;值对象是无标识、不可变的描述性对象,通过属性判断相等性;聚合则是将相关领域对象组合为一致性边界的模式。文章通过Java代码示例展示了实体(User类)和值对象(Money类)的具体实现方式,说明了如何通过封装、不变性等原则实现领域模型。这些构建块服务于领域服务,共同构成领域驱动设计的核心要素。
2025-10-13 14:58:22
876
原创 DDD架构——充血模型、领域模型
DDD(领域驱动设计)是一种以业务为核心的软件设计方法,通过战略设计和战术设计两大支柱解决复杂业务问题。贫血模型将数据与逻辑分离,而充血模型将数据和业务逻辑封装在领域对象中,使代码更符合面向对象思想。领域模型包含领域服务、对象、仓储等概念,专注于业务实现,通过仓库和端口适配器与外部交互,确保业务逻辑与基础设施分离。这种设计使系统更易于维护和扩展。
2025-10-13 14:45:15
760
原创 Pytorch学习——自动求导与计算图
Variable与Function组成了计算图。而Variable就相当于计算图中的节点Function就相当于是计算图中的边,它实现了对一个输入Variable变换为另一个输出的VariablePyTorch的允许用户自定义前向传播(Forward)和反向传播(Backward)的逻辑,从而实现非标准操作的自动求导或优化梯度计算的性能。实现新的数学操作(如自定义激活函数、特殊损失函数)。优化复杂操作的梯度计算(避免PyTorch自动跟踪的低效性)。融合多个操作。
2025-06-07 15:12:57
864
原创 Java基础——拷贝(深拷贝、浅拷贝、深拷贝的3种方式)
介绍了java拷贝中浅拷贝、深拷贝,并使用java代码实现拷贝、介绍了三种实现深拷贝的方式:实现Cloneable接口、使用序列化和反序列化、手动递归实现
2025-01-20 19:53:24
884
1
原创 Java基础——概念和常识(语言特点、JVM、JDK、JRE、AOT/JIT等介绍)
Java基础——概念和常识(语言特点、JVM、JDK、JRE、AOT/JIT等介绍)
2025-01-17 13:46:26
1336
原创 Java设计模式——单例模式(特性、各种实现、懒汉式、饿汉式、内部类实现、枚举方式、双重校验+锁)
Java设计模式——单例模式(特性、各种实现、懒汉式、饿汉式、内部类实现、枚举方式、双重校验+锁)
2025-01-14 15:36:26
2171
原创 Java并发编程——线程池(基础,使用,拒绝策略,命名,提交方式,状态)
Java并发编程——线程池(基础,使用,拒绝策略,命名,提交方式,状态)
2025-01-13 20:29:42
2905
原创 java并发编程——ReentrantReadWriteLock和StampedLock
ReentrantReadWriteLock和StampedLock简介
2025-01-04 14:22:17
464
原创 Java并发编程--基础知识(进程,线程,多线程,死锁)
进程 (Process)在计算机中,每个进程都有自己独立的内存空间,包括代码、数据和堆栈等,同时拥有一组系统资源,如文件描述符、信号、处理器状态等。线程 (Thread)
2024-12-31 11:23:18
643
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅