自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 求最小生成树,稠密图(prim算法),稀疏图(kruskal算法),两种结合(稀疏图中部分稠密)

对于稠密图,边的数量接近于顶点数量的平方,即 m≈O(n^2)。在这种情况下,邻接矩阵表示法非常高效,可以快速访问和更新边权重。Prim算法在稠密图中的时间复杂度为 O(n2),适合处理这种边数较多的情况。对于稀疏图,边的数量远小于顶点数的平方,因此Kruskal算法的效率更高。排序操作和并查集的使用使得Kruskal算法的时间复杂度为 O(mlog⁡m+nα(n)),其中 α(n) 是阿克曼函数的反函数,近似为常数。相比于Prim算法在稀疏图中可能的 O(n2) 时间复杂度,Kruskal算法更高效。

2024-07-26 12:57:23 749 1

原创 求出单独连通块的数量

这个问题是一个经典的使用并查集(Union-Find)来解决的图论问题。给定两个数组 a 和 b,它们分别表示图中的边,我们的目标是计算有多少个连通分量。

2024-07-23 20:35:18 263

原创 高级数据结构-树状数组

树状数组:当我们要对一个数组进行求前缀和和修改一个数时;1.利用数组来存,利用前缀和来求(O(n)),修改一个数(O(1));2.利用前缀和数组来维护, 求出前缀和(O(1)),修改一个数(O(n));所以想到是否可以利用一个方法使得两种操作的时间复杂度都降低;树状数组可以实现(O(logn));树状数组的基本操作:1.修改(在第x个数上加上c)i<=n;tr[i]+=c;2.查询(查询1~n的和)int res=0;i>0;res+=tr[i];

2024-05-05 14:09:57 756 2

绘图5.vsd

绘图5.vsd

2022-10-04

空空如也

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

TA关注的人

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