自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

oopxiajun博客专栏

复杂事情简单做,简单事情认真做,认真事情重复做,重复事情创造性地做!

  • 博客(400)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Vben Admin 同一界面打开多个模态框 Modal

【代码】Vben Admin 同一界面打开多个模态框 Modal。

2025-04-10 17:20:50 56

原创 算法——Lyndon分解

是将一个字符串 ( s ) 唯一分解为若干 Lyndon 串的序列 ( s = w_1w_2\cdots w_k ),满足 ( w_1 \geq w_2 \geq \cdots \geq w_k )(字典序非递增)。,当且仅当对于其所有真后缀 ( t )(即 ( t \neq s ) 且 ( t ) 是 ( s ) 去掉前若干字符后的子串),都有 ( s < t )(字典序比较)。Duval 算法是高效计算 Lyndon 分解的方法,时间复杂度为 ( O(n) ),适用于长度为 ( n ) 的字符串。

2025-04-09 08:32:49 682

原创 算法——最小表示法

最小表示法的高效性(O(n)需要快速标准化循环结构(如字符串、数据序列)。大规模数据去重(如日志、生物数据)。算法优化(避免暴力比较的 O(n²) 复杂度)。其核心优势在于将循环问题转化为线性处理,是处理循环同构问题的利器。

2025-04-07 10:10:32 649

原创 Python中的多态与Java、C#、C++中的多态的区别有哪些?

特性Python类型系统动态类型,鸭子类型静态类型,显式继承/接口多态触发条件方法存在即合法需实现接口或继承父类类型检查时机运行时编译时方法重载不支持,通过参数默认值模拟支持泛型/模板动态类型无需泛型支持泛型(Java/C#)或模板(C++)错误反馈运行时异常编译时错误显式覆盖声明无需需要(如@Override或virtual。

2025-03-16 15:32:51 723

原创 算法——高精度计算

什么是高精度算法?它是处理大数字的数学计算方法。在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字。一般这类数字我们统称为高精度数。但近几年的CSPJ/S复赛貌似从未单独考过高精度算法,但有时会和其他算法一起考。所以还是有学习的必要。高精度计算是指参与运算的数的范围大大超出了标准数据类型能表示的范围的运算。如100位数字和100位数字的加减乘除运算。为处理高精度计算,我们使用数字数组来表示高精度数字。

2025-03-10 16:50:51 939

原创 算法——Manacher算法

Manacher算法用一个辅助数组Len[i]表示以字符T[i]为中心的最长回文字串的最右字符到T[i]的长度,比如以T[i]为中心的最长回文字串是T[l,r],那么Len[i]=r-i+1。

2025-03-01 22:54:21 702

原创 算法——序列自动机

通过序列自动机,可显著提升子序列匹配效率,适用于需要频繁查询的场景。根据实际需求调整字符集处理方式,平衡时间与空间复杂度。其核心思想是通过预处理目标字符串,构建状态转移表,从而在O(1)时间复杂度下支持多次子序列查询。序列自动机是一种用于高效判断一个字符串是否为另一个字符串的。

2025-02-27 22:28:12 507

原创 java——执行linux/cmd命令

在Java中执行命令行命令可以通过或实现。适用于简单场景,但需手动处理输入/输出流。更灵活,支持错误流合并、工作目录设置等。将命令和参数拆分为字符串数组,避免空格导致的解析错误。使用cmd /c在finally块中关闭流或使用Try-with-Resources(需自定义处理)。

2025-02-27 22:20:43 989

原创 算法——后缀自动机

后缀自动机作为一种强大而高效的数据结构,在字符串处理领域展现出了独特的魅力和卓越的性能。它通过巧妙的状态压缩和转移机制,能够以线性的时空复杂度处理各种复杂的字符串问题,为我们解决实际问题提供了有力的工具。从原理上看,后缀自动机基于字符串的后缀信息和 endpos 等价类的概念,构建了一个紧凑而高效的有向无环图结构。这种结构不仅能够完整地表示字符串的所有子串,还通过后缀链接等特性,为各种字符串操作提供了便捷的途径。

2025-02-26 20:35:56 866

原创 算法——后缀平衡树

先回想一下之前讨论的内容。之前我们详细讨论了后缀树,包括它的构建、应用以及相关算法。用户可能是在了解后缀树之后,想要进一步探索相关的数据结构,或者是想比较后缀树和后缀平衡树的异同。后缀平衡树并不是一个常见的数据结构名称,是结合了后缀结构和平衡树特性的结构,或者可能是某种特定应用中的数据结构。也有可能存在拼写错误或翻译问题,比如用户可能想说的是“平衡后缀树”或者“后缀数组的平衡树实现”。接下来,我应该考虑常见的相关数据结构。

2025-02-25 22:09:08 895

原创 算法——后缀树

后缀树是一种树形数据结构,它包含了一个字符串的所有后缀,并且通过树的结构来高效地组织和表示这些后缀信息。它是一种压缩的 trie 树,其中从根节点到叶子节点的每条路径都对应着字符串的一个后缀。例如,对于字符串 “banana”,它的后缀树会包含 “banana”、“anana”、“nana”、“ana”、“na” 和 “a” 这些后缀。

2025-02-25 21:34:51 967

原创 AI——阿里巴巴推出的Qwen Chat(DeepSeek看法)

随着更多功能的落地和生态的扩展,Qwen Chat有望成为连接开发者、企业与普通用户的核心AI平台,推动智能技术的广泛应用与社会价值释放。这种设计不仅满足多样化需求,还支持用户在同一界面对比不同模型的回答,例如在回答复杂问题时,不同模型可从技术、逻辑等角度提供互补性见解,提升决策效率。此外,Qwen2.5-MAX作为其底层核心模型,在多项基准测试中超越DeepSeek-V3、Claude-3.5等国际竞品,尤其在数学与编程领域表现突出,进一步巩固了Qwen Chat的技术竞争力。

2025-02-24 21:02:54 899

原创 算法——AC自动机

构建Trie树,插入所有模式串。使用BFS构建每个节点的fail指针:根节点的fail指针为null。根节点的子节点的fail指针指向根。对于其他节点curr,其父节点为parent,字符为c:找到parent的fail指针指向的节点f。查看f的子节点是否有字符c的节点fc:如果存在,curr的fail指针指向fc。如果不存在,继续沿着f的fail指针向上找,直到根节点。如果找到某个节点有c子节点,则curr的fail指针指向该子节点;否则指向根。

2025-02-24 20:37:03 848

原创 算法——Trie 树

Trie 树通过共享前缀的特性,在字符串匹配、前缀搜索等场景中表现优异,尤其适合需要频繁前缀匹配的应用(如输入法、搜索引擎)。但其空间开销较大,实际使用时需结合具体需求权衡利弊。)是一种高效处理字符串集合的树形数据结构,核心思想是通过共享公共前缀来优化存储和查询。

2025-02-24 19:59:25 1024

原创 算法——母牛的故事(递归+迭代)

有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?这是一个经典的递推问题,可以通过分析每年母牛数量的变化规律,使用递归来或者迭代的方式来解决。下面我们先分析规律,再分别给出递归和迭代的C语言实现。

2025-02-23 09:58:15 502

原创 算法——Z函数

【代码】算法——Z函数。

2025-02-23 09:53:37 541

原创 算法——KMP算法(Knuth-Morris-Pratt算法)

(即“失败函数”或“next数组”)避免在匹配失败时回溯主串,从而将时间复杂度优化到。(Knuth-Morris-Pratt算法)是一种高效的。(n是主串长度,m是模式串长度),远优于暴力匹配算法的。其核心思想是通过预处理模式字符串,利用。掌握KMP算法的核心在于理解。

2025-02-22 11:47:53 386

原创 架构——成为合格软件架构师的关键要求与成长路径

只有全面提升自身素质与能力,才能在软件领域中站稳脚跟,创造出卓越的软件系统,为企业和社会的数字化发展贡献力量。

2025-02-22 11:04:43 1077

原创 算法——Boyer-Moore算法

Boyer-Moore算法是一种高效的字符串匹配算法,由Robert S. Boyer和J Strother Moore于1977年提出。该算法的核心思想是通过预处理模式串,利用字符比较的不匹配信息来跳过尽可能多的目标字符,从而快速定位可能的匹配位置,减少比较次数。Boyer-Moore算法以其高效性和巧妙的设计在字符串匹配领域占据重要地位。通过深入理解其原理和实现,我们可以更好地应用这一算法来解决实际问题。希望本文能对读者有所帮助,并在实践中发挥Boyer-Moore算法的优势。

2025-02-21 22:41:24 924

原创 架构——业务架构、数据架构和技术架构的关系

业务架构是对企业业务的一种抽象描述,它从业务的视角出发,梳理业务流程、划分业务模块,明确各业务模块之间的关系,旨在确保业务目标的顺利实现。它是企业战略与实际业务运营之间的桥梁,将抽象的战略目标转化为具体可执行的业务活动和流程。在软件项目中,业务架构扮演着至关重要的角色。它就像是软件系统的 “业务蓝图”,为后续的数据架构和技术架构设计提供了方向和依据。通过清晰的业务架构设计,开发团队能够更好地理解业务需求,准确把握业务的核心流程和关键环节,从而避免在开发过程中出现需求理解偏差、功能设计不合理等问题。

2025-02-18 21:30:45 1493

原创 算法——舞蹈链算法

舞蹈链算法通过双向链表的动态调整,将精确覆盖问题的搜索效率提升到极致。尽管实现复杂,但它在处理组合优化问题时表现卓越,尤其适合约束严格的场景。理解其核心在于掌握链表操作与回溯思想的结合。

2025-02-18 20:41:55 1112

原创 算法——结合实例了解Minimax算法(极小化极大算法)

Minimax算法通过模拟对手最优策略,为当前玩家提供最稳健的决策。其核心是。

2025-02-17 20:18:12 1642

原创 算法——Alpha-Beta剪枝搜索

(1)将走棋方定为MAX方,因为它选择着法时总是对其子节点的评估值取极大值,即选择对自己最为有利的着法;(2)将应对方定为MIN方,因为它走棋时需要对其子节点的评估值取极小值,即选择对走棋方最为不利的、最有钳制作用的着法。(3)在对博弈树(博弈树是指由于动态博弈参与者的行动有先后次序,因此可以依次将参与者的行动展开成一个树状图形。)采取深度优先的搜索策略时,从左路分枝的叶节点倒推得到某一层MAX节点的值,可表示到此为止得以“落实”的着法最佳值,记为α。(4)显然此值可作为MAX方着法指标的下界。

2025-02-16 11:31:55 1927

原创 架构——Nginx功能、职责、原理、配置示例、应用场景

Nginx 凭借其事件驱动模型、高效资源管理和模块化设计,成为现代 Web 架构的核心组件。无论是作为静态服务器、反向代理,还是负载均衡器,Nginx 都能显著提升系统性能和可靠性。合理配置其缓存、压缩、负载均衡策略,可应对高并发、大流量场景(如电商大促、在线教育等)。

2025-02-15 20:19:47 1611

原创 架构——LVS负载均衡主要模式及其原理、服务水平、优缺点

LVS(Linux Virtual Server)是一款高性能的开源负载均衡软件,支持多种负载均衡模式。

2025-02-15 17:41:27 867

原创 算法——结合经典示例了解回溯法

需要穷举所有可能性问题有明确的约束条件解空间呈现树状结构组合、排列、选择类问题回溯法作为一种强大而灵活的算法策略,在解决复杂问题时展现出独特的优势。通过不断尝试和回溯,它能够在庞大的解空间中找到满足特定条件的解。从理论层面看,回溯法基于深度优先搜索的思想,巧妙地利用递归实现对各种可能性的探索。在实际应用中,无论是路径搜索、游戏 AI,还是资源分配等领域,都能看到回溯法的身影,它为解决现实世界中的诸多难题提供了有效的途径。

2025-02-15 16:19:18 418

原创 算法——对比A*算法与IDA*算法

A*算法是一种启发式搜索算法,结合了Dijkstra算法的最短路径保证和贪心最佳优先搜索的高效导向性。其核心是评估函数算法(Iterative Deepening A将迭代加深(Iterative Deepening)与A*结合,通过逐步放宽的阈值进行深度优先搜索(DFS),每次搜索限制 ( f(n) ) 不超过当前阈值,避免内存爆炸。3. Avs IDA。

2025-02-14 22:52:54 924

原创 算法——结合实例了解启发式搜索

启发式搜索是一类基于估计值(启发式函数)来指导搜索的算法。其基本思想是利用启发信息来指导搜索过程,从而加速搜索并找到解决方案或更接近目标的解。启发信息通常由启发函数提供,该函数能够评估节点的重要性或接近目标的程度。在搜索过程中,启发式搜索算法会优先扩展那些更有可能包含解或更接近目标的节点,从而显著提高搜索效率。

2025-02-14 21:34:01 1670

原创 算法——结合实例了解广度优先搜索(BFS)搜索

广度优先搜索(BFS)是一种基础且重要的搜索算法,其核心在于从起始节点出发,借助队列实现逐层扩展搜索,直到找到目标节点或遍历完所有可达节点。在工作原理上,BFS 通过选择起始节点,将其加入队列,然后不断从队列中取出节点,访问该节点并将其未访问的邻居节点加入队列,从而实现按层次遍历。从时间复杂度来看,使用邻接表表示图时,BFS 的时间复杂度为 O (V + E) ,这是因为每个顶点和每条边都会被访问一次;使用邻接矩阵表示图时,时间复杂度为 O (V²) ,因为需要遍历整个矩阵。

2025-02-13 20:49:29 751

原创 算法——结合实例了解深度优先搜索(DFS)

深度优先搜索作为一种基础且强大的搜索算法,在解决各类路径搜索问题中展现出独特的优势。通过马走日和走迷宫这两个实例,我们深入理解了 DFS 的工作原理、实现步骤以及在实际应用中的注意事项。在马走日的问题中,我们利用 DFS 探索马在棋盘上的所有可能移动路径,计算遍历整个棋盘的途径总数,这体现了 DFS 在处理具有特定规则的移动和状态空间搜索问题上的有效性。而在走迷宫的场景里,DFS 帮助我们从起点出发,通过不断探索和回溯,寻找通往终点的路径,展示了其在解决复杂空间搜索问题的能力。

2025-02-13 20:27:38 969

原创 算法——数学建模中的“上帝掷骰子”:蒙特卡罗算法

特性传统网格法蒙特卡罗采样精度在适当条件下非常高受样本数量影响,但维度无关计算成本随着维度增加迅速上升维度无关,但需大量样本处理复杂几何的能力较弱,尤其是非规则形状强,能有效处理复杂几何并行化潜力中等,部分步骤可并行高,几乎完全并行在实际应用中,选择哪种方法取决于具体问题的需求和约束条件。例如,在金融建模中,蒙特卡罗方法常用于风险评估和期权定价,而在流体力学领域,传统网格法则更常用。

2025-02-12 22:11:10 1107

原创 算法——搜索算法:原理、类型与实战应用

搜索算法,简单来说,就是在给定的数据集中查找特定元素或满足特定条件元素的一系列计算步骤。它的本质是对数据集合的一种遍历和筛选过程,旨在从大量的数据中精准地定位到我们所需要的信息。例如,在一个包含学生成绩的列表中,我们要查找某个学生的成绩,就可以使用搜索算法来实现。假设这个列表是,我们要查找成绩为 92 的元素,搜索算法就会按照一定的规则在这个列表中进行查找,最终找到对应的位置。搜索算法的应用极为广泛,在数据库管理系统中,它用于快速检索数据;在搜索引擎中,帮助用户从海量网页中获取相关信息;

2025-02-12 22:10:32 1867

原创 算法——数学建模的十大常用算法

数学建模的十大常用算法在数学建模竞赛和实际问题解决中起着至关重要的作用。请注意,以上代码仅为示例,实际应用中需根据具体问题进行修改和扩展。数学建模过程中,选择合适的算法并正确实现是解决问题的关键。

2025-02-12 22:10:16 2356

原创 算法——用C语言解答汉诺塔问题

汉诺塔,又称河内塔,是一个益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。

2025-02-12 13:32:30 848

原创 STM32F103C8----外部中断探秘:解锁嵌入式实时响应的关键

中断,简单来说,就是在主程序运行过程中,当出现特定的中断触发条件(即中断源)时,CPU 会暂停当前正在执行的程序,转而去执行中断服务程序。这个过程就好比你正在专心写作业,突然手机响了(中断源),你会暂停写作业(暂停主程序),去查看手机消息(执行中断服务程序),看完消息后再回来继续写作业(返回主程序继续执行)。在 STM32F103C8T6 中,中断源可以是外部设备的信号变化,如按键按下、传感器数据更新,也可以是内部定时器溢出、串口数据接收等事件。

2025-02-11 21:40:29 896

原创 制作数学动画的软件

如果你是数学教师或学生,推荐使用Manim或GeoGebra,它们专为数学设计,功能强大且易于上手。如果你需要制作高质量视频,可以选择Blender或,但需要一定的学习成本。如果你喜欢编程,可以尝试Matplotlib或Processing,它们适合自定义动画和交互式图形。希望这些建议能帮助你找到合适的工具!如果还有其他问题,请随时告诉我!😊。

2025-02-09 11:21:36 814

原创 Linux终端特殊符号

这些特殊符号在Linux终端中扮演着重要的角色,它们使得用户可以更高效地管理文件、执行命令和与系统交互。熟练掌握这些符号的使用,对于提高在Linux环境中的工作效率和准确性至关重要。Linux终端中包含了多种特殊符号,它们各自承担着不同的功能,使得用户能够以更高效、更灵活的方式与系统进行交互。

2025-02-07 17:57:31 492

原创 使用java、C#、Python、NodeJs实现DeepSeek API

由于DeepSeek的具体API端点和认证机制可能有所不同,以下代码示例将基于通用的REST API调用方式,并假设DeepSeek提供了一个用于生成文本或执行其他任务的端点。在使用过程中,如果遇到任何问题或需要更详细的参数说明,可以参考DeepSeek的官方API文档。文档中包含了对API的详细介绍、参数说明、示例代码等信息,有助于更好地理解和使用DeepSeek API。如果DeepSeek API需要其他类型的认证(如API密钥作为查询参数、基本认证等),请相应地修改代码。请确保替换示例代码中的。

2025-02-07 17:30:56 2708 3

原创 我个人对DeepSeek一些评价

在处理复杂或格式要求较高的文本任务时,可能需要用户具备一定的审校能力来弥补其不足。未来,随着技术的不断进步和应用的不断拓展,DeepSeek有望进一步完善其功能并提升性能,成为国产AI的代表之作。其应用程序已取代竞争对手OpenAI的ChatGPT,成为美国苹果应用商店下载量最大的免费应用程序。此外,DeepSeek还引发了全球人工智能领域的关注,被视为人工智能领域革命的重要组成部分。综上所述,DeepSeek是一款具有强大推理能力、优秀文字处理能力、深度思考能力、专业编程能力和高性价比的国产AI模型。

2025-02-07 16:51:02 5014

原创 linux系统的文件和目录

在Linux系统中,文件和目录是操作系统中最基本的概念之一。Linux系统使用层次结构的文件系统,所有的文件和目录都从根目录()开始。

2025-02-07 16:41:45 636

用HTML代码实现国际象棋

用HTML代码实现国际象棋,可双人对战

2025-02-16

HTML实现中国象棋,双人对战

HTML实现中国象棋,双人对战

2025-02-16

html实现围棋博弈功能

html实现围棋功能

2025-02-16

HTMl实现五子棋功能

HTMl实现五子棋

2025-02-16

HTML实现平面直角坐标系

HTML实现平面直角坐标系

2025-02-16

ST-LINK驱动文件

ST-LINK驱动文件

2024-07-18

STM32最新固件库v3.5

STM32最新固件库v3.5

2024-07-18

VMware-ovftool-4.4.0-15722219-win.x86_64.rar

虚拟机ovftool- 4.4.0,将.ova转化为.vmx文件小记,导入ova时:未通过 OVF 规范一致性或虚拟硬件合规性检查 原因与解决方法.

2020-05-03

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

TA关注的人

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