
OI算法分析
文章平均质量分 96
个人对OI算法的学习笔记
Aobing_peterJr
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最小生成树算法的解题思路与 C++ 算法应用
本文介绍了两种最小生成树算法:Prim算法和Kruskal算法。Prim算法以点为对象,通过贪心策略逐步扩展生成树,适用于稠密图;Kruskal算法以边为对象,通过排序和并查集选择边,适用于稀疏图。文章通过具体示例详细说明了两种算法的执行过程,并提供了代码实现。最小生成树算法可用于解决连通图的最小边权结构问题,具有广泛的实际应用价值。原创 2025-06-18 21:00:21 · 771 阅读 · 0 评论 -
并查集:合并多个元素为一个集合的操作方法
并查集是一种高效的森林状数据结构,主要用于处理合并集合和查询元素关系的操作,时间复杂度约为O(α(n))。其核心思想是将元素的父节点指向根节点,实现快速查找和合并。算法框架包括初始化、路径压缩优化和合并操作。典型应用包括判断元素是否同属一个集合以及查询集合大小。通过维护父节点数组和集合大小数组,并查集能高效解决依赖关系、连通性等问题。文章详细介绍了并查集的实现原理、代码框架及两种常见应用场景,为相关算法问题提供了优化解决方案。原创 2025-06-04 21:37:14 · 1011 阅读 · 0 评论 -
dijkstra算法详解
Dijkstra 算法的详细解析,包括 O(N^2) 做法和 O(NlogN) 做法,在最深层次提取 Dijkstra 算法的原理并生动用图片分析原创 2025-03-23 21:16:32 · 1103 阅读 · 0 评论 -
单源最短路算法汇总、分析、整理、实现与简单变形(C++ 语言描述)
单源最短路:Dijkstra(链接),Bellma-Ford,SPFA算法的思想、算法实现和简单变形,用C++语言描述,并对其中的重要引理给出简单证明原创 2025-04-01 21:28:17 · 1018 阅读 · 0 评论 -
贪心算法的应用实例:子问题的局部最优解可推导出全局最优解
贪心算法的例题实现,两种不同的贪心算法变形,分别给出贪心算法证明和代码实现。原创 2025-04-05 19:10:14 · 989 阅读 · 0 评论 -
位运算:利用计算机的二进制计算原理进行运算的 C++ 运算符
C++位运算详解,攻坚克难,解决算法学习中不可绕开的难点。原创 2025-04-09 21:40:36 · 1181 阅读 · 0 评论 -
多源最短路的两种做法和详细解析
多源最短路的分析和讲解,讲解 Floyd 算法的原理和代码实现。原创 2025-04-14 21:36:02 · 1190 阅读 · 0 评论 -
扩展欧几里得算法的使用及简单证明
扩展欧几里得算法(ExGcd)是基于传统欧几里得算法的实现,主要用于计算不定方程axbygcdabab∈Z的一组特殊整数解。类似于传统的欧几里得算法计算gcdab时将gcdab转化为gcdbamodb,扩展欧几里得算法通过类似的系数辗转相除法求出xy的一组解。如果我们不使用扩展欧几里得算法计算axbygcdabaxbygcdab移项,得axgcdab−by系数化为1,得xagcd。原创 2025-04-19 14:05:39 · 1292 阅读 · 0 评论 -
递推、递归:将大目标分解为小目标的处理方法
递推、递归是计算机算法设计中常用的集中基础算法。递推是从第一步开始,根据一个特定的规律或转移方程层层推进,直到推出答案所在状态位置为止。递归是从第一个可能性开始,枚举所有的可能性,并且根据这些可能性来找出最后的答案。递推经常被用作 DP 中实现状态转移,递归会常常被用作 DFS 枚举所有的可能性来找到正确答案,而分治的用途十分广泛,可以使用分治来获得更高的效率。关于时间复杂度,递推的时间复杂度通常为线型On,递归的时间复杂度通常为多项式级Onk或者指数级Okn或者阶乘级On。原创 2025-05-01 12:39:10 · 1073 阅读 · 0 评论 -
基于 Dijkstra 最短路算法实现的次短路算法
基于最短路算法实现的次短路算法,实现了同时计算最短路径长和次短路径长原创 2025-05-12 21:42:51 · 910 阅读 · 0 评论